C++ 'da değişken türleri

Endorfin35+

Kayıtsız Üye
Katılım
1 Mayıs 2020
Mesajlar
4,200
Yeterli açıklama kod içerisinde mevcuttur.

C++:
/*
Veri türleri ve kapasiteleri :

Tür                     Kapasite           Değer Aralığı          

char                    1 Byte              -128 to 127
signed char             1 Byte              -128 to 127
unsigned char           1 Byte                 0 to 255
wchar_t                 2-4 Byte  
string                   Çok            string char türünden türetilmiştir

bool                    1 Byte(bit)     0 to 1 veya false/true

short int               2                -32,768 to 32,767
unsigned short int      2                      0 to 65,535
unsigned int            4                      0 to (2^32)-1
int                     4              -(2^32/2) to (2^32/2)-1
long int                4              -(2^32/2) to (2^32/2)-1
unsigned long int       4                      0 to (2^32)-1
long long int           8              -(2^64/2) to (2^64/2)-1
unsigned long long int  8                      0 to (2^64)-1

float                    4            kayar noktalı (ondalıklı) sayılar
double                    8            kayar noktalı (ondalıklı) sayılar
long double                32           kayar noktalı (ondalıklı) sayılar
*/

#include <iostream>
using namespace std;


char                    a = 'a';        // eş anlamlı ifadeler : __int8, int8_t, signed char
signed char             b = 'b';        // eş anlamlı ifadeler : int8_t, char
unsigned char           c = 'c';        // eş anlamlı ifadeler : uint8_t, __int8
wchar_t                 d = L'a';       // L ne işe yarıyor?
string                  e = "elma";     // string ifadeye atamayapılırken "" çift tırnak kullanılır

bool                    f = true;

short int               g = 32767;               // eş anlamlı ifadeler : int16_t, __int16, short, signed short, signed short int
unsigned short int      i = 65535;               // eş anlamlı ifadeler : uint16_t,__int16, unsigned short
unsigned int            k = 4294967295;          // eş anlamlı ifadeler : uint32_t, __int32, unsigned
int                     l = 2147483647;          // eş anlamlı ifadeler : int32_t, __int32, signed, signed int
long int                m = 2147483647;          // eş anlamlı ifadeler : long, signed long, signed long int
unsigned long int       n = 4294967295;          // eş anlamlı ifadeler : unsigned long
long long int           o = 9223372036854775807; // eş anlamlı ifadeler : int64_t,__int64, long long, signed long long, signed long long int
unsigned long long int  p = 18446744073709551615;// eş anlamlı ifadeler : uint64_t,__int64, unsigned long long

float                    r = 4564.54;
double                    s = 12.5 ;
long double                t = 12.9 ;

// int16_t, uint16_ gibi ifadeler standart ifadeler değildir. typedef komutu ile genellikle int türlerine atanırlar.
// örneğin int16_t linux ile doğrudan çalışırken __int16 ifadesi çalışma __ başlayan ifadeler microsoft a özgüdür.
// bu kısa ifadeler kullanılacak ise kodun başına typedef ile tanımlama yapmak yararlı olabilir.
// örn: typedef signed short int16_t;

int main()
{
    cout << "char türü kapasitesi                   : " << sizeof(a)    << " byte   " << a << endl;
    cout << "signed char türü kapasitesi            : " << sizeof(b)    << " byte   " << b << endl;
    cout << "unsigned char türü kapasitesi          : " << sizeof(c)    << " byte   " << c << endl;  
    cout << "wchar_t char türü kapasitesi           : " << sizeof(d)    << " byte   " << d << endl;
    cout << "string türü kapasitesi                 :"  << sizeof(e)    << " byte  "  << e << endl;

    cout << "bool türü kapasitesi                   : " << sizeof(f)    << " byte   " << f << endl;
    cout << "short int türü kapasitesi              : " << sizeof(g)    << " byte   " << g << endl;
    cout << "unsigned short int türü kapasitesi     : " << sizeof(i)    << " byte   " << i << endl;
    cout << "unsigned int türü kapasitesi           : " << sizeof(k)    << " byte   " << k << endl;
    cout << "int türü kapasitesi                    : " << sizeof(l)    << " byte   " << l << endl;
    cout << "long int türü kapasitesi               : " << sizeof(m)    << " byte   " << m << endl;
    cout << "unsigned long int türü kapasitesi      : " << sizeof(n)    << " byte   " << n << endl;
    cout << "long long int türü kapasitesi          : " << sizeof(o)    << " byte   " << o << endl;
    cout << "unsigned long long int türü kapasitesi : " << sizeof(p)    << " byte   " << p << endl;
   
    cout << "float türü kapasitesi                  : " << sizeof(r)    << " byte   " << r << endl;
    cout << "double türü kapasitesi                 : " << sizeof(s)    << " byte   " << s << endl;
    cout << "long double türü kapasitesi            :"  << sizeof(t)    << " byte   " << t << endl;

}


Program Çıktısı :

char türü kapasitesi : 1 byte a
signed char türü kapasitesi : 1 byte b
unsigned char türü kapasitesi : 1 byte c
wchar_t char türü kapasitesi : 2 byte 97
string türü kapasitesi :32 byte elma
bool türü kapasitesi : 1 byte 1
short int türü kapasitesi : 2 byte 32767
unsigned short int türü kapasitesi : 2 byte 65535
unsigned int türü kapasitesi : 4 byte 4294967295
int türü kapasitesi : 4 byte 2147483647
long int türü kapasitesi : 4 byte 2147483647
unsigned long int türü kapasitesi : 4 byte 4294967295
long long int türü kapasitesi : 8 byte 9223372036854775807
unsigned long long int türü kapasitesi : 8 byte 18446744073709551615
float türü kapasitesi : 4 byte 4564.54
double türü kapasitesi : 8 byte 12.5
long double türü kapasitesi :16 byte 12.9

__ ile başlayan türler için referans : https://docs.microsoft.com/tr-tr/cpp/cpp/data-type-ranges?view=msvc-160
 
Ekleme :

Bir degisken tanimlanirken basina const ifadesi eklenir ise degisken degeri sonradan degistirilemez.

Orn:
Const int pi=3;

#define pisay 3

Define ile yapilan tanimlamada pisay bir degisken degildir. Derleme sirasinda derleyici pisay gordugu her yere 3 yazar...
 

Forum istatistikleri

Konular
5,835
Mesajlar
99,532
Üyeler
2,479
Son üye
yiyehuoxing32

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top