我想sizeof(char)是一個字節。然後,當我寫下面的代碼,C按位移
#include<stdio.h>
int main(void)
{
char x = 10;
printf("%d", x<<5);
}
輸出是320
我的問題是,如果char是一個字節長和值是10,它應該是:
0000 1010
當我移動5,不應該變成:
0100 0001
爲什麼輸出320而不是65?
我在Linux上使用gcc和檢查了sizeof(char) = 1
將'void main()'更改爲'int main(void)',並且不要忘記所需的'#include'。噢,'sizeof(char)== 1',根據定義(一個字節) - 但一個字節可以超過8位(儘管在任何你可能遇到的系統上都會有8位)。 –