我的代碼INT爲CHAR類型轉換
#include <stdio.h>
int main()
{
int i1 = 0x18f;
char c1 = i1;
char c2 = 15;
unsigned short s1 = 0174670;
printf("1) %o\n", i1);
printf("2) %d\n", c1);
i1 = c1;
printf("3) %d\n", i1 & c2);
printf("4) %x\n", s1 ^= 0x5555);
}
下面的片段與這個輸出
1) 617
2) -113
3) 15
4) aced
可能有人解釋爲什麼在第二和第四輸出出來-113和分別杆進洞。謝謝。
我能理解你爲什麼對第二個感到困惑。但爲什麼關於第四? –
這是一個十六進制數字。聽起來很熟悉? –
%x產生十六進制。 ACED basae 16 = 10 * 16^3 + 12 * 16^2 + 14 * 16^1 + 13 * 16^0(就像456鹼基10 = 4 * 10^2 + 5 * 10^1 + 6 * 10^0) – ikegami