以防你不知道负数怎么参与位运算
  • 板块灌水区
  • 楼主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 的原码 1000⋯00111000\cdots0011

-3 的反码 1111⋯11001111\cdots1100

-3 的补码 1111⋯11011111\cdots1101

2      0000⋯0010\qquad\ \ \ \ \ 0000\cdots0010

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

(-3)|2 的反码 1111⋯11101111\cdots1110

(-3)|2 的原码 1000⋯00011000\cdots0001

该原码对应 −1-1

因此 (-3)|2=-1

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