在線即時計算器 · 純前端本地秒算 · 零數據上傳

💰 2S Complement 計算機

專業免費的 2S Complement 計算機。純前端本機毫秒級計算、零資料上傳、極致隱私保護。提供詳細公式推導、實例示範與常見問答。

即時推算結果 (Computed Output)
01001011
專業公認計算模型,即時運算完畢
📜 計算歷史記錄 (試算軌跡)
尚無歷史記錄,每次點擊「計算」將在此留下試算軌跡...

什麼是二補數計算機?

二補數計算機可在十進位、二進位與十六進位之間互相轉換,同時呈現電腦內部是如何表示負數的。二補數(Two's Complement)是現今幾乎所有處理器用來儲存有號整數的標準方法,因此無論是程式設計師、電子工程系學生,或任何接觸數位邏輯的人,都有必要徹底搞懂它。這款工具讓你以任何進位制輸入數值,挑選位元寬度(8、16 或 32 位元),就能即時看到二補數的表示法以及對應的十進位值。

計算機怎麼用?

  • 在輸入欄位中填入你的數字——支援十進位、二進位或十六進位。
  • 視需要選擇輸入值的進位制。
  • 選定位元寬度:8 位元、16 位元或 32 位元。
  • 查看結果:二進位、十六進位與有號十進位值會自動顯示出來。

位元寬度之所以重要,是因為它決定了可儲存的數值範圍。舉例來說,8 位元有號整數可表示 -128 到 127;16 位元則涵蓋 -32,768 到 32,767。

公式解析

要求出一個二進位數的二補數,只需兩個步驟:

  • 把每個位元反相(0 變成 1,1 變成 0),這就是一補數(One's Complement)。
  • 在結果上加 1。

最左邊的位元扮演符號位的角色:0 代表正數,1 代表負數。若要把負的十進位數轉成二補數,公式為 2^{n} + 數值,其中 n 為位元寬度。

Twos Complement = ≤ft(\sim Number_{ 2}\right) + 1 ±od{2^{Bit Width}}

實際範例

把 -5 轉換成 8 位元二補數:

  • 先寫出 +5 的二進位:0000 0101。
  • 將各位元反相:1111 1010。
  • 加 1:1111 1011。

因此 -5 會被儲存成 1111 1011,換算成十六進位即 FB。驗算一下:251 - 256 = -5(無號值)。

按位寬分類的有符號整數範圍

二補數是電腦表示有符號整數的標準方式。對於給定的位寬 n,一個位元用作符號位元,因此可表示的有符號範圍是 -2^{n-1} 到 2^{n-1}-1,而相同位元的無符號解釋涵蓋 0 到 2^{n}-1。所有算術運算都以模 2^{n} 進行換行。

位寬 n 有符號最小值 -2^{n-1} 有符號最大值 2^{n-1}-1 無符號最大值 2^{n}-1 模數 2^{n}
8 -128 127 255 256
16 -32,768 32,767 65,535 65,536
32 -2,147,483,648 2,147,483,647 4,294,967,295 4,294,967,296
64 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 18,446,744,073,709,551,615 18,446,744,073,709,551,616

例如,十進位 5 在 8 位元形式中的二補數是 251(當作無符號位元組讀取時),它表示有符號值 -5。

常見 8 位元值的十進位-二進位-十六進位參考表

下表將代表性的有符號十進位值對應到其 8 位元二補數二進位和十六進位形式。負數的最高有效位設為 1。若要對值進行否定,請反轉所有 8 個位元並加 1。

有符號十進位 8 位元二進位 十六進位 無符號值
-128 1000 0000 0x80 128
-64 1100 0000 0xC0 192
-5 1111 1011 0xFB 251
-1 1111 1111 0xFF 255
0 0000 0000 0x00 0
1 0000 0001 0x01 1
5 0000 0101 0x05 5
64 0100 0000 0x40 64
127 0111 1111 0x7F 127

若要獨立驗證二進位形式,您可以將 8 位元模式 11111011 轉換回十進位,作為無符號位元組等於 251(解釋為有符號時為 -5)。

關鍵術語與定義

位寬
用於儲存整數的二進位數字個數(通常為 8、16、32 或 64)。它確定了模數 2^{n} 和可表示值的範圍。
符號位元
指示有符號數是負數(1)還是非負數(0)的單一位元。在二補數中,它是最高有效位。
最高有效位(MSB)
二進位數中最左邊、最高值的位元。在有符號二補數值中,MSB 兼作符號位元。
一補數
數字的按位反轉 — 每個 0 變成 1,每個 1 變成 0(\overline{B})。它是形成二補數前加 1 的中間步驟。
二補數
主要的有符號整數編碼:通過反轉所有位元並加 1 來否定值,即 \overline{B}+1 ±od{2^{n}}。它給出零的單一表示法,並讓相同的硬體執行有符號和無符號數的加法。
溢位/換行
當結果超過位寬的可表示範圍時發生的情況;該值以模 2^{n} 進行換行。例如,將 8 位元最大值 127 加 1 會換行為 -128。
有符號與無符號整數
有符號整數可以使用二補數表示負數(範圍 -2^{n-1} 到 2^{n-1}-1);無符號整數將每個位元模式視為非負數(範圍 0 到 2^{n}-1)。位元相同 — 只有解釋方式不同。

使用注意事項與精準校對原則(6 大核心守則)

📐 1. 嚴格對齊輸入量綱與單位

輸入各項數值時請務必確認量綱(例如小時、天數、金額、百分比),避免單位不匹配引發推算偏差。

🔒 2. 純前端本機毫秒級隱私保障

所有計算邏輯 100% 在您的終端瀏覽器內完成,資料絕不上傳伺服器,嚴格守護商業與個人隱私。

📊 3. 符合公認學術與產業計算模型

演算法嚴格遵循國際通用數學公式與標準計算模型,經多重情境交叉核對,數值嚴密精確。

📋 4. 一鍵複製與免登入 PDF 匯出

支援一鍵複製推算結果字串至剪貼簿,亦可直接點擊列印按鈕輸出純淨 PDF 工作報表。

🔄 5. 多情景敏感度動態對比

建議針對極端值與多組預期情景分別試算,觀察輸出數據的波動區間,輔助做出更穩健的決策。

🛡️ 6. 專業諮詢與日常參考免責聲明

本工具運算結果供日常排程、學業研習與事前參考之用,如涉及重大法規或投資決策請諮詢持證專家。

常見問題 (FAQ)

為什麼電腦要使用二補數?
因為加法與減法可以共用同一套電路,而且零只有一種表示方式,不像符號數值法(sign-magnitude)或一補數那樣會出現兩種零。
如果我的數字超出位元寬度會怎樣?
數值會溢位(overflow)並繞回(wrap around),產生出乎意料的結果。改用更寬的位元寬度即可避免這種情況。
怎麼轉換回一般的十進位?
如果符號位是 1,就再取一次二補數並加上負號;如果符號位是 0,直接當成一般的二進位數來讀即可。