官术网_书友最值得收藏!

第二節 整數存儲

基礎知識

計算機中整數數值的存儲并不是將其簡單地轉為二進制存入內存中即可,因為涉及正負數、減法問題,所以科學家們設計了一套整數的存儲規則——三碼。

原碼

整數存儲的時候,用最高位表示符號(0為正數、1為負數),之后幾位存儲二進制數值,例如:

這樣設計有一個問題,-1+1=1010=-2,怎么辦?

反碼

負數的二進制使用反碼:符號位不變,其他相反。

現在-1+1=1111=-0,可以接受。但是,0和-0的問題呢?

補碼

負數用反碼+1。

現在一切加法都完美了,0也只有一個了。

總結

1)正數的原碼、補碼、反碼都是它本身。

2)負數的反碼為原碼(除符號位)取反,補碼為反碼加一。

3)計算機內存中存儲的是補碼。

4)因為存儲的是補碼,存儲范圍中的負數總比正數多一個(-0的原碼被用來表示最小的負數)。

范例精講

例1 在8位二進制補碼中,10101011表示的數是十進制下的( )。

A. 43

B. -85

C. -43

D. -84

【正確答案】 B

|解析|

注意最高位是1,說明是個負數。

賽題訓練

1.在字長為16位的系統環境下,一個16位帶符號整數的二進制補碼為1111111111101101。其對應的十進制整數應該是( )。

A. 19

B. -19

C. 18

D. -18

主站蜘蛛池模板: 错那县| 北流市| 蒙城县| 龙海市| 咸丰县| 科技| 沂源县| 汉源县| 辛集市| 丰县| 仙游县| 苍梧县| 永福县| 莒南县| 治县。| 广东省| 赤壁市| 安阳市| 阿拉尔市| 阿拉善左旗| 汤阴县| 含山县| 柳河县| 屏东县| 湾仔区| 大方县| 安义县| 英超| 姚安县| 泰安市| 巴彦淖尔市| 肇东市| 革吉县| 三河市| 剑河县| 大洼县| 广元市| 左权县| 应城市| 高雄市| 邵阳县|