整数常量的默认类型是有符号还是无符号?例如 0x80000000,我如何决定将其用作有符号整数常量或无符号整数常量而没有任何后缀?
如果它是一个有符号整数常量,如何解释下面的情况?
printf("0x80000000>>3 : %x\n", 0x80000000>>3);
输出:
0x80000000>>3 : 10000000
以下情况可以表明我的平台使用算术位移,而不是逻辑位移:
int n = 0x80000000;
printf("n>>3: %x\n", n>>3);
输出:
n>>3: f0000000