原碼:
如果機器字長為n,那麼乙個數的原碼就是用乙個n位的二進位制數,其中最高位為符號位:正數為0,負數為1。剩下的n-1位表示概數的絕對值。
例如: x=+101011 , [x]原= 00101011
x=-101011 , [x]原= 10101011
位數不夠的用0補全。
ps:正數的原、反、補碼都一樣
:0的原碼跟反碼都有兩個,因為這裡0被分為+0和-0。
反碼:
知道了什麼是原碼,那反碼就更是張飛吃豆芽——小菜一碟了。知道了原碼,那麼你只需要具備區分0跟1的能力就可以輕鬆求出反碼,為什麼呢?因為反碼就是在原碼的基礎上,符號位不變其他位按位取反(就是0變1,1變0)就可以了。
例如:x=-101011 , [x]原= 10101011 ,[x]反=11010100
補碼:
正數:
正數的補碼和原碼一樣,不用變換。
負數:負數的補碼就是在原碼的基礎上,符號位不變,其餘位取反,然後末位加1。
已知負數的補碼求原碼:可以按照補碼的補碼等於原碼的操作去求。就是說,補碼的基礎上,符號位不變,其餘位取反,末位加1。
補碼也非常的簡單就是在反碼的基礎上按照正常的加法運算加1。
例如:x=-101011 , [x]原= 10
101011
,[x]反=11010100,[x]補=11010101
ps:0的補碼是唯一的,如果機器字長為8那麼[0]補=00000000。
移碼:
移碼最簡單了,不管正負數,只要將其補碼的符號位取反即可。
例如:x=-101011 , [x]原= 10
101011
,[x]反=11010100,[x]補=11010101,[x]移=01010101
原碼,反碼,補碼和移碼
注意 正數的原 反 補碼都一樣。0的原碼跟反碼都有兩個,因為這裡0被分為 0和 0。如果機器字長為n,那麼乙個數的原碼就是乙個n位的二進位制數有符號數,其中最高位為符號位 正數為0,負數為1。剩下的n 1位為數值位,表示真值的絕對值。凡不足n 1位的,小數在最低位右邊加零 整數則在最高位左邊加零來補...
原碼 反碼 補碼和移碼
數值型資料的表示方法 1.1 進製計數制 數制的基與權 在任一數制中,每乙個數上允許使用的計數符號的個數被稱作該數制的基數。每一位都對應乙個表示該位在數碼中的位置的值,這個值就被稱為數字的權值w。常用的幾種進製 1 2進製 0,1 2 8進製 0,1,2,3,4,5,6,7 3 17進製 0,1,2...
原碼 反碼 補碼和移碼
各種數值在計算機中表示的形式為機器數,其特點是採用二進位制計數制,數的符號用0或1表示,小數點則隱含,表示不佔位置,這就是機器數的原碼。為了便於運算,帶符號的機器數可採用原碼 反碼 補碼和移碼等不同的編碼方法,機器數的這些編碼方法稱為碼制。在這種表示方法中,最高為是符號位,0表示正號,1表示負號。原...