整数定数のデフォルトの型は符号付きですか、符号なしですか? 0x80000000 などの場合、接尾辞なしで符号付き整数定数または符号なし整数定数として使用することをどのように決定できますか?
符号付き整数定数の場合、次のケースをどのように説明しますか?
printf("0x80000000>>3 : %x\n", 0x80000000>>3);
出力:
0x80000000>>3 : 10000000
以下のケースは、プラットフォームが論理ビット単位シフトではなく、算術ビット単位シフトを使用していることを示している可能性があります。
int n = 0x80000000;
printf("n>>3: %x\n", n>>3);
出力:
n>>3: f0000000