Java中的位運算是一種非常強大的操作,它允許我們在二進制級別上操作數據。以下是一些位運算的設計技巧:
int STATUS_ACTIVE = 1 << 0; // 表示活動狀態
int STATUS_PAUSED = 1 << 1; // 表示暫停狀態
int STATUS_STOPPED = 1 << 2; // 表示停止狀態
int a = 5; // 二進制表示為 0101
int b = 3; // 二進制表示為 0011
int c = a & b; // 二進制表示為 0001,即十進制的1
int d = a | b; // 二進制表示為 0111,即十進制的7
int e = a ^ b; // 二進制表示為 0110,即十進制的6
int f = ~a; // 二進制表示為 -6,即按位取反
int g = a << 1; // 二進制表示為 1010,即十進制的10
int a = 5;
int b = 3;
int c = a * b; // 15
int d = a << 1; // 10
int FLAGS_NONE = 0;
int FLAGS_READ = 1 << 0; // 表示已讀
int FLAGS_WRITE = 1 << 1; // 表示可寫
int status = FLAGS_READ | FLAGS_WRITE; // 設置已讀和可寫標志位
status &= ~FLAGS_READ; // 清除已讀標志位
status |= FLAGS_WRITE; // 設置可寫標志位
int flags = 0;
flags |= 1 << 0; // 設置第一個標志位
flags |= 1 << 1; // 設置第二個標志位
// 解壓縮
int extractedFlags = flags & 0b11; // 獲取前兩個標志位
總之,熟練掌握位運算技巧可以幫助我們編寫更高效、更簡潔的代碼。在實際開發中,我們可以根據具體需求靈活運用位運算符和技巧。