16'lik sayi sistemi.. bilgisayar camiasinda cokca kullanilir.. 10'luk sisteme gore daha az basamak kapladigindan daha kolay hatirlanir oyle avantajlari wardir en onemlisi 8-bit boundary'lere bolunebilir kolayca bla bla..
"many programmers think that hexadecimal numbers represent absolute proof that god never intended anyone to work in assembly language" -- randall hyde (bkz: art of assembly)
en büyük olayı; 10'luk sistemden küçük olmayan, 10'luk sisteme en yakın, binarik sistemin üssü olan bir sistem olmasıdır. 2^4. yani at&t mühendisleri bi sabah kalkıp: - kaçlık olsun lan? - olmuşken 16'lık olsun omuğagoyum diye girişmemişler mevzuya.
binary bir sayıyı hexadecimal'e çevirmek için; önce en sağdan başlayarak sayı 4 lü gruplara ayrılır. sonra bu gruplardaki sayılar bildiğimiz 10'luk tabana çevrilir. 9 dan büyük sayılar için a,b,c,d,e,f kullanılır. en sol grupta 4 hane yoksa soluna 0 eklenerek 4'e tamamlanır.örnek vermek gerekirse; 1011110010010010010110 için,
10 1111 0010 0100 1001 0110 = 0010 1111 0010 0100 1001 0110= 2 15 2 4 9 6 eder. 15=f'ye tekabül ettiğinden; sayımızın hexadecimal karşılığı "2f2496" olur.
binary bir sayıyı hexe çevirirken (and vice versa) şu tablo oldukça faydalıdır:
0000 - 0 0001 - 1 0010 - 2 0011 - 3 0100 - 4 0101 - 5 0110 - 6 0111 - 7 1000 - 8 1001 - 9 1010 - a 1011 - b 1100 - c 1101 - d 1110 - e 1111 - f
atıyorum sayımız 8fd olsun. 8->1000, f->1111, d->1101 olduğundan ikilik tabanda 100011111101 elde ederiz.
tam tersini yaparken de sayıyı sağdan başlayıp dörtlü gruplandırırız. sayımız 10110100010110 olsun. biz bunu (00)10 1101 0001 0110 olarak yazabiliriz (sayının başına sıfırları istediğimiz gibi koyarız ya hani). bunu da tabloya göre çevirirsek 2d16 buluruz.