原碼, 反碼, 補碼的基礎概念和計算方法

2022-09-05 13:24:14 字數 915 閱讀 2688

在探求為何機器要使用補碼之前, 讓我們先了解原碼, 反碼和補碼的概念.對於乙個數, 計算機要使用一定的編碼方式進行儲存. 原碼, 反碼, 補碼是機器儲存乙個具體數字的編碼方式.

原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位制:

[+1]原 = 0000 0001

[-1]原 = 1000 0001

第一位是符號位. 因為第一位是符號位, 所以8位二進位制數的取值範圍就是:

[1111 1111 , 0111 1111]

[-127 , 127]

原碼是人腦最容易理解和計算的表示方式.

反碼的表示方法是:

正數的反碼是其本身

負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.

[+1] = [00000001]原 = [00000001]反

[-1] = [10000001]原 = [11111110]反

可見如果乙個反碼表示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.

補碼的表示方法是:

正數的補碼就是其本身

負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]補

[-1] = [10000001]原 = [11111110]反 = [11111111]補

對於負數, 補碼表示方式也是人腦無法直**出其數值的. 通常也需要轉換成原碼在計算其數值.

原碼, 反碼, 補碼的基礎概念和計算方法

在探求為何機器要使用補碼之前,讓我們先了解原碼,反碼和補碼的概念.對於乙個數,計算機要使用一定的編碼方式進行儲存.原碼,反碼,補碼是機器儲存乙個具體數字的編碼方式.原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值.比如如果是8位二進位制 1 原 0000 0001 1 原 1000 ...

原碼反碼補碼的概念

比如求 43 首先先把43轉為二進位制 因為乙個位元組是8位 最高位是符號位 轉二進位制就是 101011因為乙個位元組八個位所以前面補為0 0 0101011 上面的最左邊的0是最高符號位,也就表示的是 號 43的原碼 0 0101011 反碼分兩類 正數的反碼和原碼補碼是一樣的,補碼正數的反碼和...

原碼, 反碼 補碼的計算

在計算機內,有符號數有3種表示法 原碼 反碼和補碼。所有資料的運算都是採用補碼進行的。原碼 原碼就是符號位加上真值的絕對值,即最高位為符號位,0 表示正,1 表示負,其餘位表示數值的大小。3 00000011 3 10000011反碼 正數的反碼與其原碼相同 負數的反碼是對其原碼逐位取反,但符號位除...