cout<<"a1="<<a<<endl; cout<<"a2="<<-0x80000000<<endl;
int a = -0x80000000;
cout
cout
这个代码的输出结果是什么?
已知2^31=2147483648
答案为什么是这样呢?
-0x80000000在内存中以补码形式存储,二进制为:1000 0000 0000 .....0000
通过查看反汇编,如下: int a = -0x80000000;
00A21A6E mov dword
原创
2016-01-29 21:01:17 ·
725 阅读 ·
0 评论