C++中的位運(yùn)算符允許你直接操作二進(jìn)制位,這對(duì)于優(yōu)化代碼和解決特定問題非常有用
int num = 5; // 二進(jìn)制表示為 0101
bool isEven = (num & 1) == 0; // 檢查最低位是否為0(即偶數(shù))
int num = 8; // 二進(jìn)制表示為 1000
int doubled = num << 1; // 結(jié)果為16,二進(jìn)制表示為 10000
int halved = num >> 1; // 結(jié)果為4,二進(jìn)制表示為 0100
const int READ = 1; // 二進(jìn)制表示為 0001
const int WRITE = 2; // 二進(jìn)制表示為 0010
const int EXECUTE = 4; // 二進(jìn)制表示為 0100
int userPermissions = READ | WRITE; // 用戶具有讀和寫權(quán)限,二進(jìn)制表示為 0110
bool hasExecutePermission = (userPermissions & EXECUTE) == EXECUTE; // 檢查用戶是否具有執(zhí)行權(quán)限
const int FLAG_A = 1; // 二進(jìn)制表示為 0001
const int FLAG_B = 2; // 二進(jìn)制表示為 0010
const int FLAG_C = 4; // 二進(jìn)制表示為 0100
int status = FLAG_A | FLAG_B; // 狀態(tài)為3,二進(jìn)制表示為 0011
bool hasFlagC = (status & FLAG_C) == FLAG_C; // 檢查狀態(tài)中是否包含F(xiàn)LAG_C
總之,C++位運(yùn)算在實(shí)際中的運(yùn)用非常廣泛,可以幫助你編寫更高效、更簡(jiǎn)潔的代碼。