İkili sayıların Onlu sayılara Çevirimi(Binary to Decimal Conversion)
• 1101012 =?
10
012345
2
53
1 0 4 0 16 32
212021202121110101
Onluk – ikilik çevrimi (decimal tobinary conversion)• 1 bayt (8 bit) veri 28 yani 256 farklı değer alabilir
(00000000)2 = (0)10 (11111111)2 = (255)10
• Örn: (175)10 = (?)2175 2-174 87 2
1 -86 43 21 -42 21 2
1 -20 10 21 -10 5 2
0 -4 2 21 -2 1
0
10101111
2 tür tümleme vardır:• 1’e tümleme: 678 sayısının 1’e tümleyeni 321• 2’ye tümleme: 678 sayısının 2’ye tümleyeni
321+1=322
İkili Sayıların Tümleyenini Alma
• 1’e TÜMLEME
• İkili sayı sisteminde bir sayının tümleyenini almak o sayının 0 olan bitlerini 1, 1 olanları da 0’a çevirerek gerçekleştirilir (tersini veya değilini almak ta diyebiliriz).
• Sonuçta sayı ile o sayının tümleyeni toplandığında tüm bitlerin 1 olduğu durum elde edilir.
• Örn: Sayımız : (10110100)2 = (180)10
Tümleyeni : (01001011)2 = (75)10
İkili Sayıların Tümleyenini Alma
• 2’ye TÜMLEME
• Sayının tümleyenine 1 eklenmesi ise «2’ye göre tümleyen» olur.
Örn: Sayımız : (10110100)2 = (180)10
Tümleyeni : (01001011)2 = (75)10
2’ye tümleyeni: (01001100)2 = (76)10
Negatif sayılar nasıl temsil edilir?
• Negatif tamsayıları temsil etmek için 1 bitlik bilginin işaret (- veya +) için kullanılması düşünülebilir.
• Örneğin 16 bit veri boyutu için:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
• Bu yöntemin olumsuz yanı sıfırın hem negatif hem de pozitif olarak değerlendirilmesidir (16 bitin tamamı 0 ise '+0', işaret biti 1 diğerleri 0 ise '-0').
1 ise –0 ise +
Kalan 15 bit ile 32.768 (215) sayı temsil edilebilir
Bu yöntem ile -32.767 ile +32.767 arasındaki sayıları temsil edebiliriz.
Kaç bit gerekli?
• n bit ile temsil edilebilecek en büyük sayı = 2n-1’dir.• n = 4 ise 15, n = 8 ise 255, n = 16 ise 65535, …
• Soru: (1.000.000)10 sayısını 2’li sayı sisteminde temsil edebilmek için kaç bit gereklidir?• 2n-1 >= 1.000.000 olması gereklidir. Bu durumda n en az
20 olmalıdır (210 = 1024 olduğuna göre 220 = 10242)
• NOT: Bilgisayarda sayılar genellikle 1 bayt, 2 bayt, 4 bayt veya 8 bayt gibi büyüklüklerde saklanır. 3 bayt ya da 5 bayt gibi veri büyüklükleri programlama dillerinde yoktur. 1 milyon sayısı için 2 bayt (16 bit) yetmeyeceği için 4 bayt (32 bit) bir veri büyüklüğü seçmeliyiz.
32 bit ile 232-1 = 4.294.967.295’ e kadar sayıları temsil edebiliriz.
• Ondalıklı sayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini bir örnek ile açıklayabiliriz:
• 123.4567 sayısı aşağıdaki şekillerde gösterilebilir:12.34567 x 101 = 1.234567 x 102 = 0.1234567 x 103
• Görüldüğü gibi noktanın solunda sıfıra ulaşana kadar nbasamak kaydırdığımızda sayının yanına x 10n eklenir. Bilgisayarda sadece 1234567 (mantis) ve n (üs)değerlerini tamsayı olarak saklamak yeterli olacaktır.
• Eğer ondalıklı sayı 32 bit büyüklükte saklanacaksa 23 bit mantis için 8 bit üs için 1 bit ise işaret için kullanılır (64 bit için ise sırasıyla 52, 11, 1 şeklinde olacaktır).