所以当我输入以下命令时
#include <stdio.h>
int main() {
int myInt;
myInt = 0xFFFFFFE2;
printf("%d\n",myInt);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是-30.
我得到了两个补码的想法但是当我直接输入-30时我也得到了相同的数字.所以我的问题是为什么我会以十六进制形式写出我的号码?如果我使用十六进制形式,编译器如何区分我的意思是0xFFFFFFE2是-30的二进制补码还是值4294967266?