Является ли целочисленный константный тип по умолчанию подписанным или неподписанным? например 0x80000000, как я могу решить использовать его в качестве целочисленной константы со знаком или без целого целого без каких-либо суффиксов?
Если это целочисленная константа со знаком, как объяснить следующий случай?
printf("0x80000000>>3 : %x\n", 0x80000000>>3);
выход:
0x80000000>>3 : 10000000
В приведенном ниже примере можно указать, что моя платформа использует арифметический побитовый сдвиг, а не логический побитовый сдвиг:
int n = 0x80000000;
printf("n>>3: %x\n", n>>3);
выход:
n>>3: f0000000