例子:-59 << 3
-59 的二进制原码:10111011
反码:11000100
补码:11000101
左移三位后的补码:00101000
反码:00100111
原码:01011000
01011000
转为十进制是 88
,但是在 java 中执行的结果是 -472
,请问是哪一步出错了,感激不尽
例子:-59 << 3
-59 的二进制原码:10111011
反码:11000100
补码:11000101
左移三位后的补码:00101000
反码:00100111
原码:01011000
01011000
转为十进制是 88
,但是在 java 中执行的结果是 -472
,请问是哪一步出错了,感激不尽
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答705 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
2 回答1.3k 阅读
java 的 int 有 32 位,所以 -59 是
11111111 11111111 11111111 11000101
左移之后:
11111111 11111111 11111110 00101000
你再算算转回去是多少