c++ - 从三个 boolean 值创建一个整数作为 C++ 中的位

标签 c++ c boolean

我有三个代表位的 bool 值。我想在表单中有一个整数

true true true = 7
false true false = 2

我有

int val = 4*boolVal1 + 2*boolVal2 + boolVal3;

还有其他方法,也许更简单?

最佳答案

您可能会发现使用按位运算符而不是乘法和加法更清楚:

int val = (boolVal1 << 2) | (boolVal2 << 1) | boolVal3; 

关于c++ - 从三个 boolean 值创建一个整数作为 C++ 中的位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11311017/

相关文章:

java - 将从 C 接收到的字符串转换为 Java 字符串

c# - Xml 序列化与 "True"和 "False"

c++ - 在C++中将静态数组复制到动态数组

c++ - CGAL 3D表面网格生成设置初始点

c - Linux内核模块编程

c++ - C/C++ 中的执行顺序是否始终相同

javascript - 如何在WebBrowser 控件window.external 方法中生成异常在MFC 中实现?

c++ - 在这里真的有必要将 std::move 放在 lambda 中吗?

objective-c - iPhone SDK合成BOOL数组

boolean - 为什么 Boolean::New() 返回 Handle<>,而其他基元返回 Local<>?