【发布时间】:2014-05-05 09:35:45
【问题描述】:
我有一个关于 C++ 中按位与的简单问题。 我将它用于单个位(a&8、a&4、a&2、a&1 等),我想获得 bool 值作为返回值(如果位置上有 1)。
我可以将它除以一个数字(如 (a&8)/8),但它在我的代码中看起来并不好(尤其是我使用数组和变量的长名称)。
还有其他更好的编码方式吗?
提前致谢。
【问题讨论】:
-
bool bTrue = (a & 8);应该足够好,甚至bool bTrue = (a & 8) != 0;。 -
有什么问题?你所拥有的应该在正确的上下文中评估为
true或false,而不需要划分或任何其他操作。
标签: c++ bit-manipulation