-
-
[求助]重新学习了一下补码知识,结果发现这程序不正确
-
发表于:
2014-7-1 13:36
4588
-
[求助]重新学习了一下补码知识,结果发现这程序不正确
int _tmain(int argc, _TCHAR* argv[])
{
int orign = 0x000003E8; // Decimal : 1000 原码:0000 0000 0000 0000 0000 0011 1110 1000
int dc = 0x10000001; // Decimal : -1 原码: 1000 0000 0000 0000 0000 0000 00001
printf("%d\n",orign - dc);
return 0;
}
输出的结果是-268434457
不是应该结果为
orign[补] + dc[补] = 999 么。
为什么VC将dc作为无符号数了?
还是-1的 原码有错?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课