下面是這個簡單的代碼:Bitoperation結果並不如預期
char a = '10';
char b = '6';
printf("%d\n", a | b);
printf("%d\n", a^b);
printf("%d\n", a << 2);
和輸出
54
6
192
現在的問題是,爲什麼這些結果。我檢查了它在紙上,我有什麼是
1110 for a | b = 14
1100 for a^b = 12
00101000 for a << 2 = 40
那麼,爲什麼這種不同的結果?
提示:嘗試'printf(「%d,%d \ n」,a,b);'。我認爲你的意思是'char a = 10; char b = 6;' – enhzflep