int i = 0xFFFFFFFF;
int 为带符号类型,
0xFFFFFFFF为补码表示,i为负值,负数从补码求原码,最高符号位不变,保持 1, 其余各位求反,末尾加1,也就是 0xFFFFFFFF,
二进制为:11111111 11111111 11111111 11111111
求反后: 10000000 00000000 00000000 00000000
加一后: 10000000 00000000 00000000 00000001
原码首位表示符号位,其余位表示绝对值大小,所以,这个i是 -1
int 为带符号类型,
0xFFFFFFFF为补码表示,i为负值,负数从补码求原码,最高符号位不变,保持 1, 其余各位求反,末尾加1,也就是 0xFFFFFFFF,
二进制为:11111111 11111111 11111111 11111111
求反后: 10000000 00000000 00000000 00000000
加一后: 10000000 00000000 00000000 00000001
原码首位表示符号位,其余位表示绝对值大小,所以,这个i是 -1