Integer, 32 bitten oluşan ikilik tabandaki herhangi bir sayıdır. Dolayısıyla bir integer bellekte 4 satırlık (4 byte) bir yer kaplar.
Örneğin 1 sayısını bir integer tipi ile belleğe yazarsak, 4 satır boyunca şu yazılır:
Kod:
00000000000000000000000000000001
Eğer 2 sayısını aynı şekilde yazsaydık şu yazılacaktı:
Kod:
00000000000000000000000000000010
Adres1
Sayı
0000
00000000
0001
00000000
0002
00000000
0003
00000010
0004
0005
0006
0007
...
...
[TBODY]
[/TBODY]
Misal 0000 adresine 2 değerini almış bir integer yazarsak, bellekteki şekli üstteki tablodaki gibi olur.
32 bit değerini alan integer, pozitif ve negatif değer de alabileceği için -2^31 ile +2^31 arasında bir değer alabilir. -2^31 dahildir, 2^31 dahil değildir.
Yani bir integer -2147483648’den 2147483647’ye kadar herhangi bir değer alabilir.
Eğer negatif değerlerle iş yapmayacaksak, unsigned int dediğimiz bir integer değeri kullanarak 32 bitin tamamını sayıya ayırabiliriz.
Böylece 0 ile 2^32 = 4294967296 arasındaki herhangi bir sayıyı integer kullanarak sembolize edebiliriz.
Eğer daha uzun sayılar kullanmak istiyorsak long int dediğimiz bir integer tipi kullanarak 64 bitlik sayılar ile işlem yapabiliriz. 64 bitlik işlemciler tek bir işlemci zamanında bu işlemi yapabileceklerdir, dolayısıyla programımız daha hızlı çalışabilir.
long int ile -2^63’ten 2^63-1’e kadarki sayılar içinde işlem yapabiliriz. Yani -9223372036854775808 ile 9223372036854775807 arasında.
unsigned long int dersek de 0 ile 2^64-1 arasında işlem yapabiliriz. Bu maksimum sayı da 18446744073709551615 olur.
short int ile 2 byte tutacak satırlar haline 16 bitlik sayılar üzerinde işlem yapılabilir.
Değişken seçiminiz elinizdeki bellek miktarı ve ihtiyaç duyduğunuz sayı aralığına göre yapılmalıdır.
Adres1
Sayı
0000
00000000
0001
00000000
0002
00000000
0003
00000000
0004
00000000
0005
00000000
0006
00000000
0007
00000010
...
...
[TBODY]
[/TBODY]
Örneğin unsigned long int ile 2 sayısını yazdıralım. Bellekte 64 bit, yani 8 byte yer kaplar. 0000 adresine yazdırdığımızda 0000 ile 0007 arasını kaplayacaktır. Bellekteki görünümü de üstteki gibi olacaktır.
Diğer değişken tipleri ile zamanım olduğumda devam edeceğiz.
Elinize sağlık.
Yalnız 0'dan öğrenmek isteyenler için sadece teorik bilgi değilde uygulamalı gösterseniz resimlerle vs. insanlar console daki çıktıyı görünce bir şeyler başardığını hissediyor çünkü. Bu şekilde çok soyut kalmış gibi.
Şöyle olabilir; int budur budur budur şu değerler arasında sayı atanabilir, hafızada şu kadar yer kaplar sonra direk çalışan bir kod üzerinde adım adım gösterimi, değer atama nasıl oluyor falan.