__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 */