文章目录

计算机内存数值存储方式

原码

一个数的原码(原始的二进制码)有如下特点:

最高位作为符号位,0表示正,为1表示负。

其他的数值部分就是数值本身绝对值的二进制数。

负数的原码是在其绝对值的基础上,最高位变为1

计算机内存数值存储方式_计算机内存

反码

对于正数,反码与原码相同

对于负数,符号位不变,其他部分取反(1变0,0变1)

计算机内存数值存储方式_反码_02

补码

在计算机系统中,数值一律用补码来存储

主要原因:

统一了零的编码

将符号位和其它位统一处理

将减法运算转变为加法运算

两个用补码表示的数值相加时,如果最高位(符号位)有进位,则进位被舍弃

补码特点:

对于正数,原码、反码、补码相同

对于负数,其补码为它的反码加1

补码符号位不动,其他位求反,最后整个数加1,得到原码

计算机内存数值存储方式_原码_03

有符号和无符号的区别:

有符号:最高位为符号位,0代表正数,1代表负数

无符号:最高位不是符号位,而就是数的一部分,无符号数不可能是负数,数据存储在计算机中不存在符号位

无符号整型数是不带正负表示符号的整型数。

有符号和无符号整型取值范围

计算机内存数值存储方式_反码_04


更多文章,敬请关注微信公众号:YQ编程