二進制數的反碼(英語:1's complement)是指將二進制數每個數字反轉得到的數:若某一位為0,則使其變為1,反之亦然。[1]
此條目需要精通或熟悉計算機科學的編者參與及協助編輯。 (2022年2月5日) |
「一補數」的各地常用名稱 | |
---|---|
中國大陸 | 反碼、一的補碼 |
臺灣 | 一補數 |
港澳 | 一補碼 |
原碼 | 將符號位作為有 實際含義的位所得值 |
用反碼表示 所得值 |
---|---|---|
0111 1111 | 127 | 127 |
0111 1110 | 126 | 126 |
0000 0010 | 2 | 2 |
0000 0001 | 1 | 1 |
0000 0000 | 0 | 0 |
1111 1111 | 255 | −0 |
1111 1110 | 254 | −1 |
1111 1101 | 253 | −2 |
1000 0001 | 129 | −126 |
1000 0000 | 128 | −127 |
反碼表示法(英語:1's complement system)是一種在計算機中用機器碼表示有符號數的方式之一,其中正數使用原碼,負數使用反碼。該表示法常簡稱反碼。
一補數在很多算術運算中的表現與這個數的相反數很相似,此特性可使加法電路同時可以運算減法。然而,由於一補數中存在多餘的負零和其它問題,此方式並未像二補數一樣被廣泛應用。
表示方式
使用反碼表示有符號數的方法如下
式中,N為真值,n為編碼的位數。
顯然,正數的反碼等於其原碼,而負數的反碼則可以通過保留其符號位,將原碼的數值位取反得到。
例如,使用4個二進制位時,+3是0011,用一補碼表示-3便是1100。下表列出了4-bit二進數所能表示的整數。
二進位數 | 無符號位元 | 有符號位元 | 為一補碼時 | 為二補碼時 |
---|---|---|---|---|
0000 | 0 | 0 | 0 | 0 |
0001 | 1 | 1 | 1 | 1 |
0010 | 2 | 2 | 2 | 2 |
0011 | 3 | 3 | 3 | 3 |
0100 | 4 | 4 | 4 | 4 |
0101 | 5 | 5 | 5 | 5 |
0110 | 6 | 6 | 6 | 6 |
0111 | 7 | 7 | 7 | 7 |
1000 | 8 | -0 | -7 | -8 |
1001 | 9 | -1 | -6 | -7 |
1010 | 10 | -2 | -5 | -6 |
1011 | 11 | -3 | -4 | -5 |
1100 | 12 | -4 | -3 | -4 |
1101 | 13 | -5 | -2 | -3 |
1110 | 14 | -6 | -1 | -2 |
1111 | 15 | -7 | -0 | -1 |
相關條目
參考資料
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.