byte aa=172;
aa<<24以后变为-1409286144,二进制表示为1111111111111111111111111111111110101100000000000000000000000000;
按我的理解是:
aa左移之前变为11111111 11111111 11111111 10101100
左移24位以后为10101100 00000000 00000000 00000000
请教一下大家为什么不是我理解的这样的结果
byte aa=172;
aa<<24以后变为-1409286144,二进制表示为1111111111111111111111111111111110101100000000000000000000000000;
按我的理解是:
aa左移之前变为11111111 11111111 11111111 10101100
左移24位以后为10101100 00000000 00000000 00000000
请教一下大家为什么不是我理解的这样的结果
aa<<24以后变为-1409286144,二进制表示为1111111111111111111111111111111110101100000000000000000000000000;
如果是32位,表示为
10101100000000000000000000000000
才对。