Bu bölümde binary , decimal ve hexadecimal sistemler arasında dönüşüm yapıcağız.
Binary: “0” ve “1” lerden oluşan bit dizesine denir. ve bilgisayarımızda çalışan her uygulama bu sayı dizilerine dönüşür. örnek: “110011001”
Decimal: binary formatın 10‘luk sistemde karşılığı Yani günlük hayatta kullandığımız sayılar. örnek :50,10,35,1000 vs
HexaDecimal: binary formatın 16'lık sistemde karşılığıdır: örnek: 7D0,7A6 vs
Binary den Decimal’e (onluk sistem)
burda yapmamız gereken her bir biti soldan sağa doğru 2 'nin üsleri ile çarpıp ardından toplama olacak şekildedir. Aşağıdaki resim de “11011011” için hesaplama yapılmıştır.
görüldüğü üzere ( 2⁰x1.bit + 2¹x 2.bit ) şeklinde üstleri bir arttırarak sağdan sola doğru gidiyor.
Decimal(10 )’den Hexadecimal’e(16'lık)
bir önceki başlıkta 219 değerini bulmuştuk. şimdi yapmamız gereken bu sayımızı hexadecimal’e ( 16lik ) sisteme çevirmek.
Uyarı: 10 ve üstü sonuçlarda sol taraftada görüldüğü gibi alfabetik değerler bunların yerini alır. 10=A,11=B,12=C,13=D,
14=E,15=F
şeklinde ilerler.
Not: Bunu lütfen aklınızda tutunuz. 10 ve üzerindeki alanlar bu harfleri alıcak ;)
Şimdi çeviri işlemine başlayalım.
aşağıya 16 ve katlarını yazmaya başlayalım. ben 4. kuvvetine kadar yazayım vericeğim örnekler için yeterde artar :)
16⁰=1
16¹=16
16²=256
16³=4096
16⁴=65536
baktığımız zaman 219 e bölünebilen yukarıdaki en büyük sayı hangisidir?
tabiki : 16 dir .. 256 olma ihtimali yok :)
Ee bizim yapı = x/16¹s + x/16⁰s
görüldüğü gibi “x” olan yerleri sıra ile dolduracağız. 16‘nın 1. üssünden başlayıp “0” a gitme sebebi : 16 ya bölünmesi idi. Eğer 16 ya değilde 256 bölünse idi yapı aşağıdaki gibi olacaktı :
x/16² +x/16¹ + x/16⁰
Neyse bir sonraki örnekte daha anlaşılabilir olacaktır.
1-) 219/16=13 tür. ondalık sayıyı almıyoruz. ve x/16¹s=13 oldu
219=13*16+11 şeklinde oldu.
Şimdi 11 için 16 ve üzeri bölen olmadığı x/16⁰=11 oldu.
219=13/16¹s+11/16⁰
şimdi yapmamız gereken 10 ve üstü sayıları tablodaki karşılıkları ile değiştirmek.
219=D/16¹s +B/16⁰
219=DB
Bir sonraki örneğimizi 200 sayısı ile yapalım.
2000 sayısı için en büyük bölen hangisidir ?
tabiki = 256 dir. biz artık 256 dan geriye doğru sararak ilerliyoruz. ve bizim yapı aşağıdaki gibidir.
x/16²s +x/16¹s+ x/16⁰s
“x” bilinmezlerini dolduralım.
- 2000/256 = 7
- ilk x değerimiz 7 dir. 2000–7.256=208 bulduk. Bu sayımız bir sonraki 16 ya bölünecek alanımız. ve aşağıdaki hale geldi.
2000= 7*256 + 208 - 208 sayımıza bölünen en büyük değer hangisidir?
Cevap: tabiki görüldüğü gibi 16 dır.
208/16=13 ve kalan =0 şimdi
2000 = 7*256 + 13*16 +0 oldu. şimdi burada sıra ile x leri yerleştirelim.
2000=7/16²s + 13/16¹s + 0/16⁰
2000=7D0