《程序是怎样跑起来的》—— 第二章:数据是用二进制表示的

信息的基本单位:字节(Byte)=8bit(位)

移位和乘除运算的关系

我们知道对十进制来说: 同理对二级制:
左移 乘以10 左移 乘以2
右移 除以10 右移 除以2

原码、反码和补码

反码和补码的存在,本质上是为了用加法来实现减法,用正数来表示负数

对正数来说,原、反、补相同(补码的存在本来就是为了表示负数嘛)

对负数来说,原码 取反 得到补码
补码 +1 得到反码

逻辑右移和算数右移

逻辑右移:高位补0
算数右移:高位补符号位(因为算数运算要考虑正负数嘛)

高位扩充法:
《程序是怎样跑起来的》—— 第二章:数据是用二进制表示的