Hamming Ağırlığı Hesaplayıcı

Bir sayı girin ve tabanını seçin.

Nasıl hesaplanır?

Negatif olmayan bir tam sayı yazar ve tabanını seçersiniz: onluk, on altılık veya ikilik. Araç değeri tam bir ikilik diziye çevirir ve 1 bitlerini sayar: ağırlık = ikilik gösterimdeki 1 sayısı. Ayrıca ikilik diziyi ve başındaki sıfırlar olmadan bit uzunluğunu gösterir (sıfırın kendisi bir bit uzunluğundadır, 0). Baştaki 0x ya da 0b yalnızca on altılık ve ikilik modda kabul edilir. Eksi işareti, ondalık nokta, virgül, boşluk veya seçilen tabanda geçersiz bir rakam gibi her şey sonuç vermez. Değer 64 bite sığmalıdır, yani 18.446.744.073.709.551.615'e (on altılıkta FFFFFFFFFFFFFFFF) kadar; daha uzun değer sonuç vermez. Dönüştürme rakam dizileri üzerinde yapıldığı için büyük değerler de tam çıkar.

Örnek hesaplama

On altılık DEADBEEF sayısını alalım. Her on altılık rakam dört bittir: D = 1101 (üç adet 1), E = 1110 (üç), A = 1010 (iki), D (üç), B = 1011 (üç), E (üç), E (üç), F = 1111 (dört). Toplam: 3 + 3 + 2 + 3 + 3 + 3 + 3 + 4 = 24. İkilik gösterim 11011110101011011011111011101111'dir ve araç bunu 32 bit uzunluğunda bildirir; yani 32 bitin 24'ü 1, 8'i 0'dır.

Bu örneği dene →

Sık yapılan hatalar

  • On altılık veya ikilik değer yazarken tabanı onlukta bırakmak: onlukta 1011 sayısı bin on birdir (ağırlık 8), ikilikte 1011 ise on birdir (ağırlık 3).
  • Baştaki sıfırları saymak: gösterilmezler, bit uzunluğuna dahil değildir ve ağırlığı hiçbir zaman değiştirmezler.
  • Negatif sayı girmek: araç ikiye tümleyen uygulamaz ve eksi işaretinde sonuç vermez; bit desenini önce kendiniz bulup on altılık ya da ikilik girin.
  • 1.024 veya 1 024 gibi ayraçlı sayı yazmak: nokta, virgül ve boşluk kabul edilmez, yalnızca rakam girilir.
  • Taban onluk seçiliyken sayının başına 0x koymak: bu önek yalnızca on altılık modda (0b ise ikilik modda) kabul edilir, girdi reddedilir.

Bu hesaplama hakkında

Bir sayının Hamming ağırlığı — popülasyon sayımı veya popcount olarak da bilinir — ikili gösterimindeki 1 bitlerinin sayısıdır. Örneğin ondalık 13 sayısı ikilik sistemde 1101'dir ve Hamming ağırlığı 3'tür. Bu hesaplayıcı, ondalık, on altılık veya ikilik olarak girilen bir sayının 1 olan bitlerini doğrudan sayar.

Popcount, bilgisayar bilimi ve dijital elektronikte sıkça kullanılan bir işlemdir: hata algılama ve hata düzeltme kodlarında iki ikili kod arasındaki “mesafeyi” ölçer (iki değer arasındaki Hamming mesafesi, XOR'larının popcount'udur), kriptografi ve hashleme alanındaki bit manipülasyonu tekniklerinin temelini oluşturur, ayrıca dijital sinyal işleme ve satranç motoru bitboard'larında da karşımıza çıkar — öyle ki işlemciler bu işlem çok yaygın olduğu için özel bir POPCNT komutu bile sunar.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Araç tek bir değerdeki birleri sayar; iki sözcük arasındaki Hamming uzaklığını bulmak için önce bunları kendiniz XOR ile birleştirmelisiniz. F0 ile CC'nin XOR sonucu onaltılıkta 3C eder ve 3C girdiğinizde ağırlık 4 çıkar; yani iki bayt dört bit konumunda ayrışır. 64 bite kadar değerler kabul edilir, baştaki sıfırlar ağırlığı değiştirmez. Hangi sözcük uzunluğuyla çalışıyorsunuz, daha geniş değerler işinize yarar mı?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar