-
-
[求助]重新学习了一下补码知识,结果发现这程序不正确
-
-
[求助]重新学习了一下补码知识,结果发现这程序不正确
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的 原码有错?
[培训]科锐逆向工程师培训第53期2025年7月8日开班!