Binary, Decimal, HexaDecimal Dönüştürme

Can Avcı
2 min readFeb 8, 2021

--

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.

  1. 2000/256 = 7
  2. 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
  3. 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

--

--

Can Avcı
Can Avcı

Written by Can Avcı

Full Stack Developer (Php,Laravel,Nodejs,React)

No responses yet