UTILS.
%100 tarayıcıda
🔢

İkiye Tümleyen Dönüştürücü

İşaretli tam sayıları 4, 8, 16, 32 veya 64 bit genişlikte ikiye tümleyen ikili ve hex'e/den dönüştürün, bire tümleyen ve işaretsiz yorumla.

Yukarıya bir sayı veya bit deseni girin.

Bu araç hakkında

İkiye Tümleyen Dönüştürücü, işaretli bir tam sayıyı seçtiğiniz bir bit genişliğinde (4, 8, 16, 32 veya 64 bit) ikiye tümleyen ikili ve onaltılık gösterimine kodlar ve bir ikili veya hex desenini temsil ettiği işaretli değere geri çözer. Baştan sona BigInt kullanır, böylece 64 bitlik değerler duyarlık kaybı olmadan tam olarak işlenir.

N bit genişliği için işaretli aralık −2^(N−1) ile 2^(N−1)−1 arasındadır. Bir ondalık d'yi kodlamak için: d negatif değilse desen basitçe d'dir; d negatifse desen 2^N + d'dir (eşdeğer olarak |d|'nin tüm bitlerini ters çevirip 1 ekleyin). Araç, N bitlik sıfır dolgulu ikiliyi, N/4 basamaklı hex'i, bire tümleyeni (bit bazlı NOT) ve aynı bitlerin işaretsiz yorumunu çıktılar ve bir değer seçilen genişliğe sığmadığında bir taşma hatası işaretler.

Çözmek için bir ikili veya hex desenini yapıştırın; araç en üst bitini okur: en anlamlı bit ayarlıysa değer desen − 2^N'dir (negatif), aksi halde desenin kendisidir. Her zaman işaretli ve işaretsiz okumaları yan yana gösterir; bu tam olarak ikiye tümleyenin donanım düzeyinde çözdüğü belirsizliktir. Tüm hesaplama tarayıcınıza yereldir.

Sık sorulan sorular

Her bit genişliği için aralık nedir?
N bit genişliği, −2^(N−1) ile 2^(N−1)−1 arasındaki işaretli değerleri temsil eder. Yani 8 bit −128 ile 127'yi, 16 bit −32768 ile 32767'yi ve 32 bit yaklaşık ±2.1 milyarı kapsar. Aralık dışındaki değerler bir taşma uyarısı tetikler.
Negatif bir sayı nasıl kodlanır?
Büyüklüğü alın, her biti ters çevirin (bire tümleyen) ve 1 ekleyin. Eşdeğer olarak desen, 2^N artı negatif sayıya eşittir. Örneğin 8 bitte −1, 11111111'dir ve −42, 11010110'dur.
Neden işaretsiz değer de gösteriliyor?
Aynı bit deseninin iki okuması vardır: işaretli (ikiye tümleyen) ve işaretsiz. İkisini de göstermek, örneğin 8 bitlik 11111111 deseninin işaretli −1 ancak işaretsiz 255 olduğunu netleştirir — yorum, donanımın onu nasıl ele aldığına bağlıdır.
64 bitlik değerleri tam olarak işleyebilir mi?
Evet. Dönüştürücü keyfi duyarlıklı BigInt aritmetiği kullanır, böylece 64 bitlik desenler ve işaretli değerleri, sıradan JavaScript sayılarının 2^53'ün ötesinde getireceği yuvarlama olmadan tam olarak hesaplanır.

Daha fazla araç