0%

二进制数

二进制数

二进制也存在正负之说,使用最高位来表示符号位,1代表负,0代表正,把带符号位的机器数对应的真正数值称为机器数的真值

字长是指计算机一次可处理的二进制数的码位长度,64位处理器是指处理器的字长为64位

四种表现形式

二进制数有四种表现形式,为原码、反码、补码和移码,其中反码和补码是为了在二进制中表示负数而产生的

原码:表示二进制本身所代表的形式,如+3原码为00000011,-3原码为10000011,在原码中0有+0和-0之分,符号位不同

反码:正数的反码与原码一样,负数的反码是把正数各位取反

补码:由于原码中包含有符号位,在进行加减运算时不方便,所以出现了另一种表现形式,补码,正数的补码和原码相同,负数的补码是通过先把正数原码各位取反,在最低位加一(即反码加一为补码)

移码:这个使用并不多,是把原码包含符号位的所有位取反

正数的原码、反码、补码三者一样

计算机存储方式

在计算机底层都是以补码的形式存储的,这是为什么呢?

  • 使用补码可以保证数字0的表示统一,由于0既非正数,也非负数,使用原码表示的话符号位难以确定,而使用补码可以解决数字0的存储问题
  • 使用补码可以简化整数的加减法计算,将减法计算视为加法计算,实现减法和加法的完全统一,实现整数和负数加法的统一

欢迎关注我的其它发布渠道