Konumsal sayı sistemi nedir
Onluk 4.095 sayısında 4, 4 değerinde değildir: 4.000 değerindedir, çünkü binler basamağındadır. Her konum rakamı 10'un bir kuvvetiyle çarpar (1, 10, 100, 1.000…). Konumsal sistem budur ve taban, kullanılan farklı rakamların sayısıdır: onluk sistemde on.
İkili sistem de aynı şekilde çalışır, ama taban 2'dir: yalnızca 0 ve 1 vardır ve her basamak bir öncekinin iki katı değerindedir. Onaltılık sistem taban 16 kullanır: on altı rakam 0'dan 9'a kadar olanlar ile A'dan F'ye kadar harflerdir ve her basamak bir öncekinin 16 katıdır. Bilgisayarlar ikili çalışır, çünkü bir devrenin yalnızca iki durumu (kapalı ve açık) ayırt etmesi gerekir; onaltılık ise bu bitleri yazmanın kısa bir yoludur.
| Konum (sağdan sola) | İkilide değeri | Onaltılıkta değeri |
|---|---|---|
| 1. | 1 | 1 |
| 2. | 2 | 16 |
| 3. | 4 | 256 |
| 4. | 8 | 4.096 |
| 5. | 16 | 65.536 |
| 6. | 32 | 1.048.576 |
| 7. | 64 | 16.777.216 |
| 8. | 128 | 268.435.456 |
İkiliden onluğa, elle
Her rakam bulunduğu basamağın değeriyle yazılır ve yalnızca 1 olan basamaklar toplanır. 1101 ile örnek: sağdan sola basamakların değerleri 1, 2, 4 ve 8'dir.
- Sayıyı yaz ve altına her konumun değerini koy: 1 1 0 1'in altına 8 4 2 1.
- Her basamakta ne olduğuna bak: 8'in yerinde 1, 4'ün yerinde 1, 2'nin yerinde 0 ve 1'in yerinde 1.
- 0 olan basamakları yok say (burada 2'nin yeri).
- Topla: 8 + 4 + 0 + 1 = 13. Yani ikilide 1101, onlukta 13'tür.
Daha fazla rakamla da aynıdır: 11111111, 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255'tir; 8 bite sığan en büyük değer. 10110110 ise 128 + 32 + 16 + 4 + 2 = 182'dir.
Onluktan ikiliye, ardışık bölmelerle
Sayı tekrar tekrar 2'ye bölünür, her bölmenin kalanı (her zaman 0 ya da 1) not edilir ve bölüm 0 olana kadar devam edilir. Kalanlar aşağıdan yukarıya okunduğunda ikili sayıyı verir. 45 ile örnek:
- 45 ÷ 2 = 22, kalan 1
- 22 ÷ 2 = 11, kalan 0
- 11 ÷ 2 = 5, kalan 1
- 5 ÷ 2 = 2, kalan 1
- 2 ÷ 2 = 1, kalan 0
- 1 ÷ 2 = 0, kalan 1
Kalanlar aşağıdan yukarıya okununca 101101 çıkar. Doğrulamak için topla: 32 + 8 + 4 + 1 = 45.
Birçok kişinin tercih ettiği alternatif bir yöntem de var: 2'nin kuvvetlerini büyükten küçüğe çıkarmak. 200 için: 128 sığar (72 kalır), 64 sığar (8 kalır), 32 ve 16 sığmaz ama 8 sığar (0 kalır). Kullanılan basamaklar 128, 64 ve 8'dir; yani 200 = 11001000.
Onaltılık: on altı rakam ve elinin altında bulunacak bir tablo
10'dan 15'e kadar rakamlar olmadığından A, B, C, D, E ve F harfleri kullanılır. Bir onaltılık rakam tam olarak dört bite (bir “nibble”) eşittir ve bu yüzden çok işe yarar: 8 bitlik bir bayt yalnızca iki onaltılık rakamla yazılır.
Onaltılıktan onluğa geçmek için her rakamı bulunduğu basamağın 16'nın kuvvetiyle çarp ve topla. Örneğin 3F = 3 × 16 + 15 = 63 ve A3 = 10 × 16 + 3 = 163.
| Onluk | İkili (4 bit) | Sekizlik | Onaltılık |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
Onaltılık neden kullanılır: baytlar, renkler ve adresler
Bir bayt 8 bittir ve 0'dan 255'e kadar gider (00000000'dan 11111111'e). Bitleri elle yazmak yavaştır ve hataya açıktır; onaltılıkta aynı bayt 00'dan FF'ye iki karakterdir. İkiliden onaltılığa geçmek için bitleri sağdan başlayarak dörtlü gruplara ayır ve her grubu tablodaki rakamıyla değiştir. Örnek: 11010111, 1101 ve 0111 olarak bölünür; bunlar D ve 7'dir, yani değeri D7'dir. Onluk olarak 13 × 16 + 7 = 215'tir.
En bilinen durum web renkleridir. #FF8800 içinde üç bayt vardır: kırmızı için FF (255), yeşil için 88 (136) ve mavi için 00 (0). Bu yoğun bir turuncudur: tüm kırmızı, yeşilin yarısından biraz fazlası ve hiç mavi yok. Onaltılık ayrıca bellek adreslerinde, hata kodlarında ve ağ kimliklerinde de görünür.
ASCII ile metinden ikiliye
Bilgisayar her harfi bir sayı olarak, o sayıyı da bit olarak saklar. ASCII tablosunda A 65'tir; 8 bitlik ikili olarak 01000001. “Hi” kelimesi iki harftir: H 72 (01001000), i 105 (01101001); yani 01001000 01101001 yazılır. “Hello” ile 72, 101, 108, 108 ve 111 olur; yani 01001000 01100101 01101100 01101100 01101111, onaltılık olarak 48 65 6C 6C 6F.
Araç UTF-8 kodlamasını kullanır: temel İngilizce harflerde her karakter 8 bitlik bir bayt kaplar, ama ç, ş gibi bir harf ya da bir emoji birkaç bayt kaplar; bu yüzden 8 bitten fazla verir. Örneğin ç iki bayttır: 11000011 10100111 (onaltılıkta C3 A7).
Bütün bunları araçla nasıl yaparsın
“İkili, onluk ve onaltılık” çevirici, elle yaptığın hesapları kontrol etmek ya da uzun sayıları hatasız çözmek için işe yarar.
- Sayıyı kendi tabanının alanına yaz: “Onluk (taban 10)”, “İkili (taban 2)”, sekizlik ya da “Onaltılık (taban 16)”. Diğer üçü kendiliğinden dolar.
- Rakam tabana uymuyorsa (örneğin ikilide 2), araç seni uyarır.
- Metin için “Metin” alanına yaz ve “İkili (karakter başına 8 bit)” ile bayt bayt onaltılığa bak. Metne dönmek için bitleri 8'li gruplar halinde yapıştırabilirsin de.
- Sıra dışı tabanlar için “Herhangi bir taban (2 ile 36 arası)” bölümünü kullan: kaynak tabanı, hedef tabanı ve sayıyı seçersin.
Sınırlar: yalnızca negatif olmayan tam sayıları çevirir (ondalık ya da işaret yok) ve soldaki sıfırları senin yerine koymaz; yani sabit 8 bit istiyorsan elle tamamlaman gerekir (13, 00001101'dir). Yazdığın hiçbir şey tarayıcından çıkmaz.
Sık yapılan hatalar
- Kalanları ters okumak: ardışık bölmelerde ilk kalan en sağdaki rakamdır, en soldaki değil.
- Gerektiğinde soldaki sıfırları unutmak: 13, 1101'dir ama bayt olarak 00001101'dir. Uzunluk verinin parçasıysa önemlidir; renk ya da ağ maskesi gibi.
- Kopyalarken O harfini sıfırla ya da onaltılık B'yi (11) 8 ile karıştırmak. Onaltılıkta harfler büyük ya da küçük yazılsa da aynı değerdedir, ama bir rakamla aynı şey değildir.
- Çevirirken 0x önekini ya da # işaretini bırakmak: bunlar yalnızca sayının onaltılık olduğunu belirten işaretlerdir ve yapıştırmadan önce çıkarılmaları gerekir.
- İkilide 10'un on olduğunu sanmak: iki eder. Aynı “10” tabana göre 2, 10 ya da 16 değerindedir.
Pratik için çözülmüş alıştırmalar
Cevaba bakmadan önce her birini çözmeyi dene, sonra araçla doğrula.
- 10110110'u onluğa ve onaltılığa çevir. Cevap: 128 + 32 + 16 + 4 + 2 = 182; dörtlü gruplarla 1011 0110 = B6.
- 200'ü ikiliye ve onaltılığa çevir. Cevap: 11001000 ve C8 (12 × 16 + 8 = 200).
- 7F'yi ikiliye çevir. Cevap: 7 = 0111 ve F = 1111; yani 01111111, onlukta 127.
- “OK”i ikili olarak yaz. Cevap: O 79 ve K 75'tir; yani 01001111 01001011.
Sık sorulan sorular
İkilideki 1101'i onluğa nasıl çeviririm?
1 olan basamakların değerlerini toplarsın: 8 + 4 + 1 = 13. Sağdan ikinci rakam 0'dır, bu yüzden 2 eklenmez.
255 ikilide ve onaltılıkta kaçtır?
255, ikilide 11111111 ve onaltılıkta FF'dir. 8 bitlik bir bayta sığan en büyük değerdir.
Onaltılık neden harf kullanır?
Çünkü on altı farklı simgeye ihtiyaç duyar ve onluk sistem yalnızca on tanesini (0'dan 9'a) sağlar. Bu yüzden A 10, B 11, C 12, D 13, E 14 ve F 15 eder.
8 bitle kaç farklı sayı yazılabilir?
256 tane, 0'dan 255'e. Genel olarak n bitle 2'nin n'inci kuvveti kadar değer gösterilebilir.
Araç negatif ya da ondalıklı sayıları çevirir mi?
Hayır, yalnızca negatif olmayan tam sayıları. Metin için UTF-8 kullanır; bu yüzden ç gibi harfler ve emojiler 8 bitten fazla verir.