回复 5# 老刘1号
我是这样理解的- 32位有符号正整数2147483647原码为:01111111 11111111 11111111 11111111
- 加1后
- 结果为:10000000 00000000 00000000 00000000 (没有溢出,还是32位,只是计算后最高位变了)
- 因为最高位为1,输出时被解析为负数
-
- 而32位有符号整数中
- -2147483648的原码就是:10000000 00000000 00000000 00000000 (表示负0)
- 正0是:00000000 00000000 00000000 00000000 (32个0)
复制代码
|