原碼將一個整數轉換成二進制形式
將一個整數轉換成二進制形式,就是其原碼。例如short a = 6; a 的原碼就是0000 0000 0000 0110;更改 a 的值a = -18; 此時 a 的原碼就是1000 0000 0001 0010。
通俗的理解,原碼就是一個整數本來的二進制形式。
原碼不能直接參加運算
原碼不能直接參加運算,可能會出錯。例如數學上,1+(-1)=0,而在二進制中00000001+10000001=10000010,換算成十進制為-2。顯然出錯了。
所以原碼的符號位不能直接參與運算,必須和其他位分開,這就增加了硬件的開銷和復雜性
具體定義還分小數和整數:
①小數原碼的定義
[X] =
X( 0≤X <1 )
1- X (-1 < X ≤ 0)
例如: X=+0.1011 , [X]原= 0.1011
X=-0.1011 [X]原= 1.1011
②整數原碼的定義
[X]原 =
X (0≤X <2(n-1))
2(n-1)-X (- 2(n-1) < X ≤ 0)
x為正整數時,[X]原=x;
x為負整數時,[X]原=2的n次方-x;
x為負小數時,[X]原=1-x;
計算機中所有的數均用0,1編碼表示,數字的正負號也不例外,如果一個機器數字長是n位的話,約定最左邊一位用作符號位,其余n-1位用于表示數值。
在符號位上用"0"表示正數;用"1"表示負數。數值位表示真值的絕對值。凡不足n-1位的,小數在最低位右邊加零;整數則在最高位左邊加零以補足n-1位。這種計算機的編碼形式叫做原碼。