位运算:减法与补码

本文目录

1 计算机运算与取模计算

2 数值表示

3 补码

4 符号位

5 总结

6 相关文章


1 计算机运算与取模计算

计算机处理器操作的是二进制数,由于有位数限制,相当于数学中的取模计算,即在一定数值范围内进行计算,超出部分会被取模操作抵消。

以8 bit的有符号byte类型为例:0000 0000

最高位(第8位)为符号位,其余7位为数值位。

7位数值位,限定了数值范围,相当于设定模为 2^7=128,即取值范围为[0, 127]之间。

例如:

0 mod 128 = 0

127 mod 128 = 127

128 mod 128 = 0

129 mod 128 = 1

2 数值表示

类比时钟来理解取模运算:每一个数值,对应一个刻度位置,一个刻度位置可对应多个数值。

例如:-64、64、192都对应相同位置,即 -64 mod 128 = 64 mod 128 = 192 mod 128

但由于模值为128,因此,仅-64和64是有效范围内的合法数值。

正数表示顺时针方向移动,负数表示逆时针方向移动。

例如,+16 对应二进制 0001 0000;-16 对应二进制1001 0000。

3 补码

在取模运算中,每个数值对应一个刻度位置,同一个刻度位置对应无限个数值。

例如,-16 mod 128 = 112 mod 128,即,在取模运算中,一个负数可以由一个正数来表示,它们的刻度位置是相等的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值