二補碼
維基百科,自由的 encyclopedia
二補碼(英語:2's complement)是一種用二進位表示有符號數的方法,也是一種將數字的正負號變號的方式,常在電腦科學中使用。二補碼以有符號位元的二進位數定義。
此條目需要補充更多來源。 (2022年2月13日) |
Quick Facts 「二補碼」的各地常用名稱, 中國大陸 ...
「二補碼」的各地常用名稱 | |
---|---|
中國大陸 | 補碼、二的補碼 |
臺灣 | 二補數 |
港澳 | 二補碼 |
Close
符號 | |||||||||
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | = | 127 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | = | 2 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | = | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | = | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | = | −1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | = | −2 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | = | −127 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | = | −128 |
正數和0的二補碼就是該數字本身再補上最高位元0。負數的二補碼則是將其絕對值按位元取反再加1。
二補碼系統的最大優點是可以在加法或減法處理中,不需因為數字的正負而使用不同的計算方式。只要一種加法電路就可以處理各種有號數加法,而且減法可以用一個數加上另一個數的二補碼來表示,因此只要有加法電路及二補碼電路即可完成各種有號數加法及減法,在電路設計上相當方便。
另外,二補碼系統的0就只有一個表示方式,這和一補碼系統不同(在一補碼系統中,0有二種表示方式),因此在判斷數字是否為0時,只要比較一次即可。
右側的表是一些8-bit二補碼系統的整數。它的可表示的範圍包括-128到127,總共256(=28)個整數。