什麼是二進位計算器?

二進位算術計算器,可對二進位數進行加法、減法、乘法、除法、取模和次方運算,並同時以二進位、十進位、八進位和十六進位顯示結果。

除了基本運算,這個計算機會把結果同時用二進位、十進位、八進位、十六進位四種進位呈現,讓你直接對照同一個數值在不同進位下的樣子。在十進位模式輸入一個數,它會在計算前自動轉成二進位。輸入長度沒有硬上限,減法的負數也照常處理。除法只取整數、丟棄餘數,這跟底層 CPU 指令一致——想要那個餘數時改用取模運算,想算指數時用次方運算。選擇 8、16 或 32 位元暫存器寬度,即可把結果補到該大小,並以二的補數的有號值讀出,正如 CPU 暫存器儲存它的方式。

使用方法

  1. 輸入兩個數——可以直接用二進位,也可以把某個欄位切到十進位,它會自動轉成二進位。
  2. 選擇運算:加、減、乘、除、取模(求餘數)或次方,還有位元 AND、OR、XOR、NOT 和位移。
  3. 查看二進位、十進位、八進位和十六進位的結果。

何時使用

  • 對照位元運算作業,或為數位邏輯課程考試做驗算。
  • 把暫存器讀到的二進位值同時換成十進位與十六進位來比較。
  • 撰寫組合語言子程式前,先驗證進位與借位的行為。

結果

11011 + 10110(十進位27 + 22)得出110001(49),同時顯示二進位、十進位、八進位和十六進位。

常見問題

為什麼用較小的數減較大的數會得到負十進位?
本工具把輸入當作無號正整數,顯示帶符號的十進位結果。實際 CPU 採二的補數,結果會繞回變成大的正數。0001 減 0010 在這裡顯示 -1,但 8 位元暫存器中其實是 11111111。在上方選擇 8 位元暫存器寬度,就能看到這個確切位型以及它以帶號方式讀出的值。
支援二的補數輸入嗎?
輸入仍當純大小讀取,沒有符號位。但你不必再手動補位了:選擇 8、16 或 32 位元暫存器寬度,結果就會以二的補數顯示,補到該寬度並像硬體暫存器一樣繞回,旁邊還給出它的有號十進位讀數。
為什麼除法只給整數,不會出現小數?
這裡的二進位除法對應大多數處理器的整數 DIV 指令:朝 0 截斷,丟掉餘數。1010 ÷ 0011(10 ÷ 3)會得到 11(十進位 3),而不是 3.33。真想要剩下的餘數就切到取模運算;需要小數則先轉成十進位再算。
二進位字串最長可以輸入幾位?
JavaScript 的 parseInt 與 Number 可精確處理約 53 位精度,50 位左右輸入結果都正確。再長就可能因浮點捨入讓低位出現誤差。學習用沒問題,密碼學場景請另尋工具。
十六進位結果怎麼讀?
十六進位(底數 16)每 4 個二進位對應 1 位,用 0 到 9 再加 A 到 F 表示。所以 11111111 二進位 = FF 十六進位 = 255 十進位。程式設計師偏好十六進位,因為每位剛好對應一個位元組的半位元組。

相關工具