原碼補碼預習

2022-05-28 19:48:11 字數 1729 閱讀 6139

乙個數在計算機中的二進位制表示形式, 叫做這個數的機器數,機器數是帶符號的,在計算機用乙個數的最高位存放符號, 正數為0, 負數為1。

比如,十進位制中的數 +3 ,計算機字長為8位,轉換成二進位制就是00000011。如果是 -3 ,就是 10000011 。那麼,這裡的 00000011 和 10000011 就是機器數。

因為第一位是符號位,所以機器數的形式值就不等於真正的數值。例如上面的有符號數 10000011,其最高位1代表負,其真正數值是 -3 而不是形式值131(10000011轉換成十進位制等於131)。所以,為區別起見,將帶符號位的機器數對應的真正數值稱為機器數的真值。

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

[+1]原 = 0000 0001

[-1]原 = 1000 0001

補碼的表示方法是:

正數的補碼就是其本身

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

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

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

反碼的表示方法是:

正數的反碼是其本身

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

移碼(又叫增碼)是符號位取反的補碼,一般用做浮點數的階碼,引入的目的是為了保證浮點數的機器零為全0。

移碼的定義:

設由1位符號位和n位數值位組成的階碼,則 [x]移=2en + x -2n≤x ≤ 2n

例如: x= +1011

[x]移=11011 符號位「1」表示正號

x = -1011

[x]移=00101 符號位「0」表示負號

移碼與補碼的關係:

[x]移與[x]補的關係是符號位互為相反數(僅符號位不同),

例如:x= +1011

[x]補=01011

[x]移=11011

x = -1011

[x]補=10101

[x]移=00101

預習原碼補碼

預習筆記 原碼補碼作業 試題1二進位制數 0111的8位原碼是10000111 試題2二進位制數 0111的8位反碼是11111000 試題3二進位制數 0111的8位補碼是11111001 試題4二進位制數 0111的8位移碼是01111001 試題5二進位制數 0011的8位原碼是1000001...

預習原碼補碼

原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值.比如如果是8位二進位制 1 原 0000 0001 1 原 1000 0001 第一位是符號位.因為第一位是符號位,所以8位二進位制數的取值範圍就是 1111 1111 0111 1111 即 127 127 原碼是人腦最容易理解和計...

預習原碼補碼

試題1 二進位制數 0111的8位原碼是 1000 0111 試題2二進位制數 0111的8位反碼是 1111 1000 試題3二進位制數 0111的8位補碼是 1000 1001 試題4二進位制數 0111的8位移碼是 0111 1001 試題5二進位制數 0011的8位原碼是 1000 0011...