Excel'de Sayıları İkili Sisteme Dönüştürme

Kerem Aydın·8 Temmuz 2026·⏱3 dk

Excel'de ondalık bir sayıyı ikili sisteme dönüştürmek için yerleşik =DES.BIN(sayı; [basamak]) işlevini kullanın (İngilizce sürümde =DEC2BIN). Bu işlev, -512 ile 511 arasındaki tam sayıları anında ikili koda dönüştürür. Toplu dönüştürme yapmak için formülü sütun boyunca aşağıya doğru sürüklemeniz yeterlidir. Sonucun sabit bir uzunlukta olmasını istiyorsanız (örneğin 8 bit), işlevin ikinci bağımsız değişkenini belirtin.

Temel Dönüştürme İşlevi

Excel'de sayı sistemleriyle çalışmak için kullanılan temel araç "Mühendislik" kategorisinde bulunur. İşlev, otomatik olarak 2'ye bölme işlemi gerçekleştirir ve kalanları ters sırayla yazar.

İşlevin sözdizimi: =DES.BIN(sayı; [basamak])

  • sayı — dönüştürülmesi gereken ondalık değer.
  • [basamak] — isteğe bağlı bağımsız değişken. Sonuçtaki karakter sayısını belirler. Başa sıfır eklemek için kullanılır.

Önemli: İkinci bağımsız değişken belirtilmezse, işlev soldaki anlamsız sıfırları kaldırır. Örneğin, 5 sayısı 101 haline gelir, 00000101 değil.

Kullanım Örnekleri

Ondalık SayıFormülSonuçAçıklama
10=DES.BIN(10)1010Standart çıktı
10=DES.BIN(10; 8)00001010Sabit 8 bit (bayt)
255=DES.BIN(255; 8)11111111Baytın maksimum değeri
1=DES.BIN(1; 5)00001Başa sıfır eklendi

Negatif Sayılarla Çalışma

Excel, ikiye tümleyen (two’s complement) kullanarak negatif sayıların dönüştürülmesini destekler. Ancak değer aralığı kesinlikle sınırlıdır.

  • Negatif sayılar için izin verilen aralık: -512 ile -1 arasında.
  • Sonuç her zaman 10 bitten oluşur.
  • Negatif sayılarla çalışırken [basamak] bağımsız değişkeni dikkate alınmaz.

Örnek: =DES.BIN(-1) formülü 1111111111 sonucunu döndürür (on adet bir). -512'den küçük bir sayıyı dönüştürmeye çalışmak #SAYI! hatasına neden olur.

İşlev Sınırı: Standart formül yalnızca -512 ile 511 arasındaki tam sayılarla çalışır. Ondalıklı sayılar (örneğin 10,5) önceden YUVARLA veya TAMSAYI işleviyle yuvarlanmalıdır, aksi takdirde hata alırsınız.

Verilerin Toplu İşlenmesi

Bir sütundaki tüm sayıları dönüştürmek için her hücreye tek tek formül yazmanıza gerek yoktur.

  1. Kaynak verileri A sütununa girin (A2'den başlayarak).
  2. B2 hücresine şu formülü yapıştırın: =DES.BIN(A2).
  3. İmleci B2 hücresinin sağ alt köşesine getirin (siyah bir artı işareti görünecektir).
  4. Listeyi sonuna kadar doldurmak için çift tıklayın veya doldurma tutamacını aşağıya sürükleyin.

Sütunda boş hücreler veya metin bulunma ihtimali varsa, #DEĞER! hatalarından kaçınmak için formülü hata işleme içine alın:

=EGERHATA(DES.BIN(A2); "")

(İngilizce sürüm için: =IFERROR(DEC2BIN(A2), ""))

Sayı 511'den Büyükse Ne Yapmalı?

Standart işlevin 511 (9 bit + işaret) gibi katı bir sınırı vardır. Daha büyük bir sayıyı (örneğin 1000 veya 65535) dönüştürmeniz gerekiyorsa, standart formül hata verir.

Büyük Sayılar İçin Çözüm: Kalanları manuel olarak hesaplamak için matematiksel işlevlerin kombinasyonunu kullanın veya hassasiyet kritik değilse metin biçimlendirmesi uygulayın; ancak programlama görevleri için eklentiler veya VBA kullanmak daha iyidir.

Mühendislik işlevinin sınırlamaları olmadan 2^16'ya kadar olan pozitif sayılar için ikili dize elde etmenin basit yolu, VBA üzerinde kullanıcı tanımlı bir işlev (UDF) kullanmaktır:

  1. Alt + F11 tuşlarına basın, yeni bir modül ekleyin.
  2. Kodu yapıştırın:
    Function DecToBinLarge(ByVal n As Long) As String
        If n < 0 Then Err.Raise 6
        Do While n > 0
            DecToBinLarge = (n Mod 2) & DecToBinLarge
            n = n \ 2
        Loop
        If DecToBinLarge = "" Then DecToBinLarge = "0"
    End Function
    ```
3.  Artık herhangi bir pozitif sayı için hücreye `=DecToBinLarge(A2)` yazabilirsiniz.

## Sık Karşılaşılan Hatalar

*   **#SAYI! (NUM!)**: Sayı -512'den küçük veya 511'den büyükse ortaya çıkar. Ayrıca, istenen basamak sayısı sayıyı görüntülemek için yetersizse de görülür (örneğin, 255'i 7 bite sığdırma girişimi).
*   **#DEĞER! (VALUE!)**: Bağımsız değişken olarak sayı olmayan bir metin veya önceden yuvarlanmamış ondalıklı bir sayı girildiğinde出现 eder.
*   **Gereksiz Boşluklar**: Veriler başka bir sistemden aktarıldıysa, hücrelerde gizli boşluklar olmadığından emin olun (`BOŞLUKSİL` işlevini kullanın).

## SSS

**İkili bir sayıyı tekrar ondalık sisteme dönüştürebilir miyim?**
Evet, ters işlev olan `=BIN.DES(metin)` işlevini kullanın (İngilizce sürümde `=BIN2DEC`). Bu işlev, 0 ve 1'lerden oluşan bir dizeyi kabul eder ve sayıyı döndürür.

**İkili kodun her zaman 8 karakter uzunluğunda olmasını nasıl sağlarım?**
İşlevin ikinci bağımsız değişkenini kullanın: `=DES.BIN(A1; 8)`. Sayı 8 bit için çok büyükse (255'ten fazla), işlev hata verir.

**Neden işlev Excel'imde çalışmıyor?**
Eski sürümlerde Analiz Araç Takımı'nın yüklü olduğundan emin olun. Modern Excel sürümlerinde (2016, 2019, 365) mühendislik işlevleri varsayılan olarak kullanılabilir. Bağımsız değişken ayırıcısını kontrol edin: Türkçe yerel ayarlarda noktalı virgül `;`, İngilizce yerel ayarlarda ise virgül `,` kullanılır.