__int64 flag;
//賦值超過4字節,編譯錯誤
//flag = 'ABCDE';
//低於4字節,高位補 0
//flag = 'BCDE';
flag = 'A' << 24 + 'B' << 16 + 'C' << 8 + 'D';
//加運算 結果為 0
flag = 'A' << 24 | 'B' << 16 | 'C' << 8 | 'D';
//或運算的結果 等同 flag = 'ABCD';
flag <<= 32;
flag |= 'EFHI';
cout << flag << endl;
cout << std::hex << flag << endl;
char * array = (char *)&flag;
char buff[9] = { 0 };
strncpy(buff, array, sizeof flag);
cout << buff << endl;
getchar();
return 0;
/*
輸出結果
4702394921427290185
4142434445464849
IHFEDCBA
*/
