二進制字面量
C++14 引入了二進制字面量(binary literals),這使得在程式碼中直接表示二進制數字變得更加容易和直觀。 這對於需要使用二進制表示的位操作或位掩碼的情況非常有用。 也就是直接在數值上面加上 0B or 0b 幫助其他人了解這邊使用二進制數字,這樣就不用自己用計算機重新轉成二進制。
直接看 code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 輸出整數值的二進制表示
template <typename T>
void printBinary(T num) {
const int bits = sizeof(num) * 8; // 計算整數的位元數量
for (int i = bits - 1; i >= 0; --i) {
std::cout << ((num >> i) & 1); // 提取每一位並輸出
}
std::cout << std::endl;
}
int main() {
// 使用二進制字面量表示十進制數字
int num1 = 0b101010; // 二進制表示的 42
int num2 = 0b11110000; // 二進制表示的 240
std::cout << "num1 的十進制值: " << num1 << std::endl; // 輸出 42
printBinary(num1);
std::cout << "shift right 1 bit: " << std::endl;
num1 = num1 >> 1;
printBinary(num1);
std::cout << "-------------" << std::endl;
std::cout << "num2 的十進制值: " << num2 << std::endl; // 輸出 240
printBinary(num2);
std::cout << "shift right 1 bit: " << std::endl;
num2 = num2 >> 1;
printBinary(num2);
return 0;
}
結果

