C++ Veri Tipi - [Integer]

Katılım
22 Ağustos 2013
Mesajlar
15.504
Makaleler
35
Çözümler
78
C++ Veri Tipi - [Integer]

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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…