補碼的表示範圍 計算機的原碼 反碼和補碼

2021-10-12 04:41:42 字數 901 閱讀 9361

資料在計算機裡面都是以0和1儲存和運算的,這是馮諾依曼體系的基礎。

比如乙個數在計算機中若有正負之分,則用乙個數的最高位(符號位)用來表示它的正負,其中0表示正數,1表示負數。

原碼就是整數絕對值的二進位制形式,為了解決計算機中有負數的運算,提出了反碼、補碼。

原碼就是符號位加上真值的絕對值,第一位表示符號,其餘位表示值。對於4位的二進位制,其取值範圍就是[1000,0111],即[-8,7]。

+5的原碼:0101

-5的原碼:1101

正數的反碼是其本身。

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

+5的反碼:0101

-5的反碼:1010

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

正數的補碼還是其本身。

負數的補碼是在其原碼的基礎上,符號位保持不變,其餘位取反,最後+1。即反碼加1。

+5的補碼:0101

-5的補碼:1011

綜上,計算機有三種編碼方式來表示同乙個數。

對於+5和-5,

[+5] = [0101]原 = [0101]反 = [0101]補

[-5] = [1101]原 = [1010]反 = [1011]補

計算機採用補碼的形式來表示負數。欲知為何如此,請閱讀計算機為何採用補碼的形式來表示負數

十進位制小數如何轉換為二進位制

計算機為什麼用二進位制和十六進製制

原碼,反碼,補碼的表示範圍總結

小數 x0 x1x 2x3 xn,x 0是符號 位 整數 x0x 1x2x 3 xn x0是 符號位 首先形成的概念是 原碼和反碼小數表示的範圍是一樣的,僅僅是二進位制的儲存不同罷了。更有趣的是它們的儲存範圍是關於零點對稱的!原碼小數,反碼小數都是 1 2 n x 1 2 n 中間是 0 0 兩種x...

計算機 原碼 反碼 補碼

在計算機中,用補碼來表示數字,因為 1 這樣可以比較方便的表示0 保證0作為正數或者負數補碼都是00000000 2 計算時用補碼直接加減就是最終數值 符號位參與運算 1.原碼 原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值.比如如果是8位二進位制 1 原 0000 0001 1 ...

計算機原碼, 反碼, 補碼

乙個數在計算機中的二進位制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高位存放符號,正數為0,負數為1.因為第一位是符號位,所以機器數的形式值就不等於真正的數值。例如上面的有符號數 10000011,其最高位1代表負,其真正數值是 3 而不是形式值131 10000011轉換...