İşaret-Büyüklük Dönüştürücü

İşaret-büyüklük ikiliye çevirmek için tam sayı ve bit genişliği girin.

Nasıl hesaplanır?

w bit genişliği için en soldaki bit işarettir (pozitif ya da sıfır için 0, negatif için 1), kalan w − 1 bit ise mutlak değeri düz ikili olarak, baştan sıfırlarla doldurarak saklar. Yani ikili = işaret biti + ikili(|değer|). Değer sığmalıdır: |değer| ≤ 2w−1 − 1; yani 8 bitlik alan −127 ile 127'yi, 4 bitlik alan −7 ile 7'yi kapsar. Değer tam sayı, genişlik 2 ile 63 arasında bir tam sayı olmalıdır; genişliği boş bırakırsanız 8 alınır. Genişliğe sığmayan büyük bir sayı ya da kesir sonuç vermez. İşaret-büyüklükte hem +0 hem −0 vardır, ancak araç sıfırı her zaman 0 işaret bitiyle yazar; bu yüzden −0 yazarsanız 00000000 görürsünüz.

Örnek hesaplama

−18'i 8 bitlik işaret-büyüklüğe çevirelim. Sayı negatif olduğundan işaret biti 1'dir. Büyüklük 18'dir ve ikilide 10010 eder; kalan 7 bite doldurulunca 0010010 olur. Birleştirince işaret biti 1 ve büyüklük 18 ile 10010010 bulunur. Karşılaştırma için +18, 00010010 olurdu: yalnızca ilk bit değişir; ikinin tümleyeninde ise −18, 11101110 olurdu.

Bu örneği dene →

Sık yapılan hatalar

  • 8 bitin −128'e ulaşmasını beklemek. İşaret-büyüklük bir biti işarete harcar, bu yüzden aralık −127 ile 127'dir; 128 fazla büyüktür ve sonuç vermez.
  • Çok dar bir genişlik seçmek. 3 bitte −4, yalnızca iki bitte 100 büyüklüğü gerektirir, dolayısıyla cevap yoktur; alanı genişletin.
  • İkinin tümleyeniyle karıştırmak. İşaret-büyüklükte +18 ile −18 arasında yalnızca ilk bit farklıdır; ters çevirme ve bir ekleme yoktur.
  • −0'ı aramak. Araç sıfırı tamamen sıfır olarak yazar, bu yüzden −0 gösterilemez.
  • Değer kutusuna ikili bir desen ya da kesir yazmak. Değer, -18 gibi tam bir onluk sayıdır: 10010 on bin on olarak okunur ve 8 bite sığmaz, 3,5 ise tam sayı değildir.

Bu hesaplama hakkında

İşaret-büyüklük, bilgisayarların işaretli tam sayıları ikili sistemde temsil etmek için kullandığı en erken yöntemlerden biridir: en soldaki bit özel bir işaret biti olarak kullanılır (pozitif için 0, negatif için 1), kalan bitler ise sayının mutlak değerini doğrudan saklar — negatif sayıların ters çevrilip bire eklenerek kodlandığı ikinin tümleyeninden farklı olarak.

İşaret-büyüklük anlaşılması kolay ve elle ondalığa çevrilip geri dönülmesi basit bir yöntemdir; bu yüzden ikili sayı gösteriminin ilk adımı olarak hâlâ yaygın biçimde öğretilir — ancak sıfırın iki farklı gösterimi (+0 ve −0) olması ve ayrı toplama/çıkarma mantığı gerektirmesi gibi gerçek dezavantajları vardır; bu nedenle neredeyse tüm modern donanımlar bunun yerine ikinin tümleyenini kullanır. Bilgisayar bilimi öğrencileri ve eğitmenleri, ikinin tümleyenine geçmeden önce işaretli ikili gösterimlerin nasıl çalıştığına dair sezgi kazanmak için bu tür dönüştürücüleri kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Bu araç yalnızca kodlama yapar: onluk bir sayıyı bitlere çevirir, bir bit desenini geri sayıya çözmez. Deseni elle okumak için ilk bite işaret olarak bakın, kalan bitleri sıradan bir ikili sayı gibi okuyun. Burada dikkat çekici bir ayrıntı da görünür: 8 bitte 10000000 eksi sıfır anlamına gelir, ancak sıfır her zaman 0 işaret bitiyle yazıldığı için bu dönüştürücü bu deseni hiç üretmez. Bire tümleyen ya da fazlalık-K gibi hangi başka kodlamaların eklenmesini isterdiniz?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar