以防你不知道负数怎么参与位运算
  • 板块灌水区
  • 楼主HaneDaniko
  • 当前回复14
  • 已保存回复15
  • 发布时间2024/9/20 21:34
  • 上次更新2024/9/20 22:26:34
查看原帖
以防你不知道负数怎么参与位运算
1161172
HaneDaniko楼主2024/9/20 21:34

负数的反码:符号位不变,其余位按位取反

负数的补码:反码 +1+1

负数以补码参与位运算

(-3)|2

-3 的原码 100000111000\cdots0011

-3 的反码 111111001111\cdots1100

-3 的补码 111111011111\cdots1101

2      00000010\qquad\ \ \ \ \ 0000\cdots0010

(-3)|2 的补码(由 -3 的补码和 2 按位与得到) 111111111111\cdots1111

(-3)|2 的反码 111111101111\cdots1110

(-3)|2 的原码 100000011000\cdots0001

该原码对应 1-1

因此 (-3)|2=-1

2024/9/20 21:34
加载中...