乙個數在計算機中的二進位制表示形式, 叫做這個數的機器數,機器數是帶符號的,在計算機用乙個數的最高位存放符號, 正數為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...