Home Item 11 - 二進制字面量(binary literals) (中文)
Post
Cancel

Item 11 - 二進制字面量(binary literals) (中文)

二進制字面量

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;
 }

結果

Desktop View

☝ツ☝

This post is licensed under CC BY 4.0 by the author.

👈 ツ 👍

Item 11 - binary literals (English)

Item 15 - constexpr function (English)