📜  c++ 声明二进制数 - C++ (1)

📅  最后修改于: 2023-12-03 15:29:52.552000             🧑  作者: Mango

C++声明二进制数

在C++中,我们可以用不同的方式来声明和表示二进制数。在本文中,我们将介绍三种不同的方式。

1. 二进制字面值

C++11及以上版本支持使用二进制字面值来直接声明二进制数。

int binary1 = 0b1111; // 15
int binary2 = 0B1010; // 10

在上面的代码中,变量 binary1 被赋值为二进制数 0b1111,等同于十进制数 15。变量 binary2 被赋值为二进制数 0B1010,等同于十进制数 10。注意:在二进制字面值前缀中 bB 是等价的。

2. 八进制字面值

类似地,我们也可以使用八进制字面值来声明八进制数。八进制字面值使用前缀 0

int octal1 = 017; // 15
int octal2 = 012; // 10

在上面的代码中,变量 octal1 被赋值为八进制数 017,等同于十进制数 15。变量 octal2 被赋值为八进制数 012,等同于十进制数 10

3. 位运算符

最后,我们可以使用位运算符来声明二进制数。

int binary3 = 0b101; // 5
int binary4 = 0b1111; // 15

int binary5 = (1 << 2) | (0 << 1) | (1 << 0); // 5
int binary6 = (1 << 3) | (1 << 2) | (1 << 1) | (1 << 0); // 15

在上面的代码中,变量 binary3binary4 的定义和前面的二进制字面值的例子相同。变量 binary5 的值通过位运算符计算得出。通过将二进制位放置在正确的位置上,并使用按位或(|)运算符组合它们,我们可以得到我们想要的二进制数。同样地,变量 binary6 的值也是这样计算的。

总结

这是C++中声明和表示二进制数的三种方式。使用二进制字面值或八进制字面值可以使代码更加清晰易读,而使用位运算符则更加灵活。无论使用哪种方式,都应该根据具体情况选择最合适的方法。