計算器2026-05-10

二進制計算機:掌握二進制算術、位元運算同二補數

二進制算術第一次睇嘅時候好陌生:1010 + 0110 = 10000,冇任何一欄超過 1,而減法係透過加一個數嘅負數版本嚟完成。但呢個正係你而家用緊嘅裝置入面每個處理器核心每秒執行數十億次嘅精確算術。一個二進制計算機將呢個隱藏層帶到表面——唔單止將數字轉換為二進制,仲可以直接喺 base-2 入面執行加法、減法、乘法同除法,配備溢位檢測、用二補數表示負數,同由 8 到 64 位元嘅可配置位元寬度。無論你係除錯低階韌體程式、教授電腦架構課程、定係為網絡配置計算子網路遮罩,我哋嘅免費網上二進制計算機可以用標準口袋計算機做唔到嘅精確度同視覺清晰度處理二進制算術。

computer

二進位計算器

免費 · 無需註冊

免費試用此工具 →open_in_new

分步指南

1

以二進制、十進制或十六進制輸入你嘅運算元

用任何支援嘅表示方式輸入你嘅數字——二進制(1010)、十進制(10)或者十六進制(A)。計算機會同時顯示每個運算元嘅三種格式,等你可以互相參照。對於負數,切換二補數模式同選擇你嘅位元寬度(8、16、32 或 64 位元)。喺 8 位元二補數入面,-5 表示為 11111011,而唔係只係「5 加個負號」。工具會自動計算正確嘅二補數編碼。

2

選擇你嘅運算同位元寬度

由加法、減法、乘法或除法中選擇,同設定運算嘅位元寬度。位元寬度好重要:兩個 8 位元數字相加產生 9 位元結果會觸發溢位,計算機會用紅色標記。對於乘法,結果位元寬度會加倍(兩個 8 位元輸入可以產生高達 16 位元嘅乘積)。計算機俾你以自然寬度或任何更寬嘅寬度查看結果,呢個對理解 CPU 點樣處理進位位元同溢位旗標好關鍵。

3

閱讀逐步分解

喺每個結果下面,計算機會逐欄顯示二進制算術運算——就好似十進制嘅長加法或長乘法咁。對於加法:每欄嘅和(0+0=0、0+1=1、1+0=1、1+1=10 帶進位)都會被註解。對於用二補數嘅減法:工具會顯示減數點樣被取反(反轉位元,加 1),然後相加。除法會直接用二進制顯示長除法步驟。呢個級別嘅細節對學習同驗證都非常有價值。

使用技巧與最佳實踐

check_circle

二進制加法規則:0+0=0、0+1=1、1+0=1、1+1=10(寫 0,進位 1)。呢個同十進制加法一樣,只係你喺 2 而唔係 10 嘅時候進位。喺兩個 4 位元數字上練習直到進位模式變成自動——咁樣更長嘅寬度就只係相同模式嘅重複。

check_circle

二補數係電腦表示負整數嘅通用方式。要將一個數取反:反轉所有位元(一補數),然後加 1。例子:8 位元嘅 5 係 00000101。反轉位元:11111010。加 1:11111011——就係 -5。二補數嘅美妙之處:加法同減法使用完全一樣嘅硬件電路,唔需要為負數做特殊處理。

check_circle

當一個結果唔適合目標位元寬度就會發生溢位。喺 8 位元無符號入面,255 + 1 = 0(環繞)。喺 8 位元有符號(-128 到 127),127 + 1 = -128(最負嘅值)。CPU 會為有符號溢位設定溢位旗標,為無符號溢位設定進位旗標——對相同位元嘅不同解釋用不同旗標。

check_circle

二進制入面乘以 2ᵏ 就只係左移 k 個位置:101 (5) << 2 = 10100 (20)。除以 2ᵏ 係右移 k 個位置:10100 (20) >> 2 = 101 (5)。呢個就係點解 C 編譯器會將 `x * 8` 替換為 `x << 3`——位元移位喺硬件入面比乘法快好幾個數量級。

check_circle

位元 AND 可以測試一個數係偶數定奇數:number & 1 = 0 表示偶數,= 1 表示奇數。位元 OR 可以將特定位元設定為 1:將一個值嘅位元 3 設定為 1 即 value | 0b1000 = value | 8。位元 XOR 可以切換位元:value ^ (1 << n) 會反轉第 n 個位元。呢啲操作就係裝置驅動程式、嵌入式系統同性能關鍵代碼同硬件寄存器互動嘅方式。

check_circle

喺 32 位元算術入面,無符號嘅範圍係 0 到 4,294,967,295;有符號(二補數)嘅範圍係 -2,147,483,648 到 2,147,483,647。點解會唔對稱?因為零喺非負數嗰邊佔咗 2³² 個可能位元模式中嘅一個(000...000),留低 2,147,483,647 個正數值同 2,147,483,648 個負數值。

check_circle

網絡子網路遮罩非常依賴二進制算術。一個好似 255.255.255.0 嘅子網路遮罩喺二進制係 11111111.11111111.11111111.00000000——正正係 24 個 1 後面跟 8 個 0。IP 地址同其子網路遮罩之間嘅邏輯 AND 會提取網絡部分。理解二進制位元運算令 IP 子網路劃分變得直觀而唔係神秘。

常見問題解答

二補數編碼負數,令加數對有符號同無符號值使用相同硬件都可以完全相同咁運作。要喺 k 位元入面表示 -N:計算 2ᵏ − N 同將結果寫成二進制。等效做法:將 N 寫成二進制,反轉所有位元(位元 NOT / 一補數),然後加 1。例子:8 位元嘅 -5 → 2⁸−5 = 256−5 = 251 → 11111011。當你喺 8 位元入面將 5(00000101)同 -5(11111011)相加,你會得到 00000000 同第 8 位元嘅進位輸出——正正係零,同預期一樣。嗰個進位就係溢位/進位旗標,唔係結果嘅一部分。

二進制算術唔係一門深奧嘅技能——佢係你寫嘅每一行代碼正下方嘅嗰層。我哋嘅二進制計算機令嗰層變得可見,配備逐步分解、二補數處理同跨 8 到 64 位元嘅溢位檢測。無論你係除錯、教學定係學習,精確睇到矽晶片做緊咩。

免費試用此工具 →open_in_new