Excel'de Sayı Tabanları Arasında Dönüşüm
Excel'de sayıları ondalık sistemden ikili sisteme ve geriye dönüştürmek için yerleşik mühendislik fonksiyonları olan DEC2BIN (Türkçe sürümde İKSAY) ve BIN2DEC (ONİKİS) kullanın. Bu fonksiyonlar, karmaşık hesaplamalar yapmadan değerleri anında dönüştürmenizi sağlar. Örneğin, 13 sayısını ikili koda çevirmek için =İKSAY(13) yazmanız yeterlidir; ters işlem için ise =ONİKİS("1101") kullanılır.
Dönüşüm İçin Temel Fonksiyonlar
Modern Excel sürümlerinde (2007'den itibaren ve Microsoft 365 aboneliğinde) bu fonksiyonlar "Mühendislik" kategorisinde varsayılan olarak mevcuttur. Eski bir sürüm kullanıyorsanız veya fonksiyonlar çalışmıyorsa, "Çözümleme Araç Takımı" eklentisini etkinleştirmeniz gerekebilir.
Ondalıktan İkiliye (DEC2BIN / İKSAY)
Bu fonksiyon, bir tam ondalık sayıyı ikili gösterime dönüştürür.
Sözdizimi:
=İKSAY(sayı; [basamak])
- sayı — dönüştürülecek ondalık değer.
- basamak (isteğe bağlı) — sonuçtaki karakter sayısı. Başta sıfır eklemek için kullanılır.
Kullanım Örnekleri:
- Temel dönüşüm:
=İKSAY(10)"1010"metnini döndürür. - Sabit uzunluk:
=İKSAY(5; 8)"00000101"sonucunu verir. Bu, bayt oluşturma veya bit maskeleri için kullanışlıdır.
Fonksiyon sonucu bir sayı değil, metin olarak döndürür. Bu önemlidir çünkü matematiksel olarak anlamsız olsa da ikili kodda kritik olan baştaki sıfırların korunmasını sağlar.
İkiliden Ondalığa (BIN2DEC / ONİKİS)
Bu fonksiyon, ikili bir sayıyı (metin olarak) tekrar ondalık sisteme dönüştürür.
Sözdizimi:
=ONİKİS(sayı)
- sayı — yalnızca 0 ve 1 karakterlerini içeren dize. Maksimum uzunluk 10 karakterdir (işaretli sayılar için).
Kullanım Örnekleri:
- Basit dönüşüm:
=ONİKİS("1111")15sayısını döndürür. - Hücre işleme: A1 hücresinde
1001yazıyorsa,=ONİKİS(A1)formülü9sonucunu verir.
Sınırlamalar ve Teknik Detaylar
#SAYI! (#NUM!) hatalarından kaçınmak için bu fonksiyonlarla çalışırken Excel'in teknik sınırlamalarını hatırlamak önemlidir.
- Değer Aralığı: Standart
İKSAYveONİKİSfonksiyonları yalnızca -512 ile 511 arasındaki sayılarla (10 bit) çalışır.- 511'den büyük sayıları dönüştürmeniz gerekirse, standart fonksiyonlar hata verecektir. Bu durumlarda dizi formülleri veya VBA makroları kullanmanız gerekir.
- Veri Formatı:
ONİKİSiçin bağımsız değişken, kesinlikle 0 ve 1'den oluşan bir metin veya sayı olmalıdır. Boşluk, harf veya diğer sembollerin bulunması#DEĞER!(#VALUE!) hatasına neden olur. - Negatif Sayılar:
İKSAYfonksiyonu negatif sayıları destekler ve bunları tümleyen kodda (ikiye tümleyen) temsil eder. Örneğin,=İKSAY(-1)"1111111111"(10 adet bir) sonucunu döndürür.
Standart modda veya basamak belirtmeden 512 sayısını İKSAY fonksiyonuyla dönüştürmeye çalışmayın; hata alırsınız. Büyük sayılarla (örneğin 16-bit veya 32-bit) çalışmak için, ek ayarlar olmadan standart Excel mühendislik fonksiyonları uygun değildir.
Pratik Örnekler ve Veri Doğrulama
Dış kaynaklardan veri aktarımı sırasında veri doğruluğunu kontrol etmek için tipik bir senaryoyu ele alalım.
| Görev | Formül | Sonuç | Açıklama |
|---|---|---|---|
| 45'i ikili koda çevirme (8 bit) | =İKSAY(45; 8) | 00101101 | Baştaki sıfırlar eklendi |
| Kodun geri dönüşümü | =ONİKİS("00101101") | 45 | Bütünlük kontrolü |
| Giriş hatası yönetimi | =EĞERHATA(ONİKİS(A2); "Geçersiz") | Hata metni | Arızalara karşı koruma |
Dönüşümün Doğruluğu Nasıl Kontrol Edilir?
Hata olmadığından emin olmanın en güvenilir yolu döngüsel kontrol yapmaktır:
- Orijinal ondalık sayı A2 hücresindedir.
- B2 hücresinde onu ikili sisteme çevirin:
=İKSAY(A2). - C2 hücresinde sonucu geri çevirin:
=ONİKİS(B2). - A2 ve C2 değerlerini karşılaştırın. Eşitse, dönüşüm başarılı olmuştur.
Otomatik kontrol için formül:
=EĞER(A2=ONİKİS(İKSAY(A2)); "Doğru"; "Hata")
Kullanıcıların Sık Yaptığı Hatalar
- Baştaki sıfırların kaybolması. İkili sayıyı
00101şeklinde doğrudan hücreye sayı olarak girerseniz, Excel otomatik olarak baştaki sıfırları siler ve sayı101haline gelir.ONİKİSfonksiyonunu kullanırken bu kritik değildir (sonuç aynı olur), ancak veriler görsel olarak bozulur. Çözüm: Verileri girmeden önce ikili kod içeren hücreleri Metin formatına ayarlayın. - Nokta yerine virgül kullanımı. Türkçe Excel sürümünde formüllerdeki bağımsız değişken ayırıcısı virgül (
,) değil, noktalı virgüldür (;).=İKSAY(10, 8)formülü hata verir. Doğrusu:=İKSAY(10; 8). - Ondalıklı sayıları dönüştürmeye çalışmak. Fonksiyonlar yalnızca tam sayılarla çalışır.
10.5gibi bir sayıyı dönüştürmeye çalışmak hataya neden olur. Ondalıklı kısmı ayrı işlemek veyaTAM()fonksiyonu ile atmak gerekir.
SSS
Onaltılık sistemi doğrudan ikili sisteme çevirebilir miyim?
Evet, fonksiyon zinciri kullanın: önce ondalık sisteme çevirmek için ONALTIDANDES (HEX2DEC), ardından ikili sisteme çevirmek için İKSAY (DEC2BIN). Standart pakette doğrudan HEX2BIN fonksiyonu yoktur.
İKSAY fonksiyonu bulunamazsa ne yapmalıyım? "Çözümleme Araç Takımı" eklentisinin yüklü ve etkin olduğundan emin olun (Dosya > Seçenekler > Eklentiler > Excel Eklentilerini Yönet > Çözümleme Araç Takımı). Yeni Office 365 sürümlerinde bu fonksiyonlar ek ayar gerektirmeden çalışmalıdır.
511'den büyük sayılar nasıl dönüştürülür?
Standart fonksiyonlar 10 bit ile sınırlıdır. Daha büyük sayılarla (32 veya 64 bite kadar) çalışmak için VBA'da özel bir fonksiyon yazmanız veya ÇARPIMTOPLAMI formülü aracılığıyla iki'nin kuvvetlerini kullanmanız gerekir; ancak bu, tabloyu önemli ölçüde karmaşıklaştırır.