08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

sayısı elde edilir.<br />

Sayı değeri aynı olan negatif ve pozitif sayılar birbirinin ikiye tümleyenidir.<br />

Bu sayıların ikilik sayı sisteminde toplamları 0'dır.<br />

İşaretli ikilik sayı sisteminde 1 byte'lık alana yazılabilecek en büyük ve en küçük sayılar<br />

ne olabilir?<br />

En büyük sayı kolayca hesaplanabilir. Sayının pozitif olması için, işaret bitinin 0 olması ve<br />

sayı değerini en büyük hale getirmek için diğer bütün bitlerinin 1 olması gerekir, değil<br />

mi? Bu sayı 0111 1111'dır. Bu sayının onluk sayı sistemindeki karşılığı 127'dir. Peki ya<br />

en küçük negatif sayı kaçtır, nasıl ifade edilir?<br />

0111 1111 sayısının ikiye tümleyenini alındığında –127 sayısı elde edilir.<br />

1000 0001 (- 127)<br />

Bu sayıdan hala 1 çıkartılabilir:<br />

1000 0000 (-128)<br />

1000 0000, 1 byte alana yazılabilecek en küçük negatif sayıdır.<br />

1 byte alana yazılabilecek en büyük sayı sınırı aşıldığında negatif bölgeye geçilir.<br />

En büyük pozitif tamsayıya 1 toplandığını düşünelim:<br />

0111 1111 (en büyük pozitif tamsayı = 127)<br />

1<br />

1000 0000 (en küçük tamsayı = -128)<br />

İşaretli ikilik sistemde n byte alana yazılabilecek en büyük tamsayıya 1 eklendiğinde n<br />

byte alana yazılabilecek en küçük tamsayı elde edilir.<br />

n byte alana yazılabilecek en küçük tamsayıdan 1 çıkarıldığında da n byte alana<br />

yazılabilecek en büyük tamsayı elde edilir.<br />

Yukarıda açıklamalara göre -1 sayısının işaretli ikilik sayı sisteminde 8 bitlik bir alanda<br />

aşağıdaki şekilde ifade edilir:<br />

-1 = 1111 1111<br />

Yani işaretli ikilik sayı sisteminde tüm bitleri 1 olan sayı -1'dir.<br />

18/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!