计算机是如何存储整数的

2019-10-10  本文已影响0人  公子拙

一、概述

目前的计算机的最小存储单位是字节(8bit),对于不同大小的整数分别使用
1个、2个、4个、8个字节存储。但实际存储的2进制位是什么样的呢?

二、整数的存储

三、正整数的2进制存储----源码

把正整数换为2进制,然后凑够8位,不够添0,第一位理解为符号位。

10=8+2=1010=0b00001010
11111111=255

思考: 1个字节能够表示最大的整数是多少?

四、负整数的2进制存储(补码)

(一)、求其绝对值的2进制表示(类似于正数)----原码

|-5|=5=0b00000101

(二)、然后每位取反------反码

0b00000101
0b11111010

(三)、然后+1得到补码-------补码

0b11111010+1=0b11111011
即-5=0b11111011

五、负数为什么用补码表示

一个数用什么样的2进制序列表示都可以,只要保证一一对应关系。

(一)、为什么不用直接表示法呢?

如果第一位是符号位,则:

5= 0000 0101
-5= 1000 0101
--------------求和
-10=1000 1010

(二)、使用补码的好处?

答:便于计算,如:

5= 0000 0101
-5= 1111 1011
---------------求和
1 0000 0000 (超过8位,溢出不要)得到0

思考:-128的2进制是什么?

六、总结

上一篇 下一篇

猜你喜欢

热点阅读