計算機只能識別0和1,使用的是二進制,而在日常生活中人們使用的是十進制,為了能方便的與二進制轉換,就使用了十六進制(2 4)和八進制1.數值有正負之分,計算機就用壹個數的最高位存放符號(0為正,1為負).這就是機器數的補碼了。
補碼的設計目的:⑴使符號位能與有效值部分壹起參加運算,從而簡化運算規則.
⑵使減法運算轉換為加法運算,進壹步簡化計算機中運算器的線路設計 所有這些轉換都是在計算機的最底層進行的,而在我們使用的匯編、C等其他高級語言中使用的都是原碼。
小數和分數的補碼:1.十進制分數補碼可以先將分子和分母分別表示成二進制數,然後計算出二進制小數,再按下面第三步的方法將求出小數的補碼形式。
37/64=100101B/2^6=0.100101B
-51/128=110011B/2^7=0.0110011B
2.十進制小數的補碼也應該先將其轉換成二進制小數,再按下面第三步的方法將求出小數的補碼形式。
0.375=0.011B
0.5625=0.1001B
3.將二進制小數對應的補碼求出
[37/64]補碼=[0.100101B]補碼=0.1001010B
[-51/128]補碼=[0.0110011B]補碼=1.1001101B
[0.375]補碼=[0.011B]補碼=0.0110000B
[0.5625]補碼=[0.1001B]補碼=0.1001000B