原码          反码       补码         右移一位    结果(原码)
-1 = 1000 00011111 11101111 11111111 1111   -1
-2 = 1000 00101111 11011111 11101111 1111   -1
-3 = 1000 00111111 11001111 11011111 1110   -2
-4 = 1000 01001111 10111111 11001111 1110   -2
-5 = 1000 01011111 10101111 10111111 1101   -3
-6 = 1000 01101111 10011111 10101111 1101   -3

 因此  对于 val / 2 != val >> 1的原因是:val为负数且为奇数

相关文章:

  • 2021-11-20
  • 2022-12-23
  • 2021-11-20
  • 2022-01-23
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2021-08-04
猜你喜欢
  • 2021-11-17
  • 2022-02-09
  • 2021-11-01
  • 2021-10-31
  • 2022-12-23
  • 2022-02-02
  • 2022-01-09
相关资源
相似解决方案