为什么要使用位运算符?

6

我目前正在通过书籍“SAMS teach yourself C++ in 1 hour a day”学习C ++。到目前为止,一切都很好 - 我理解了书中的所有内容,并且已经成功地在简单的程序中使用它们进行练习。

然而,我刚刚接触到有关位运算符的部分,我完全被难住了。我知道有 &、~、|、<<、>> 等运算符,并且我知道每个运算符对其二进制形式中的数字执行不同的操作,~ 运算符将数字翻转。

问题在于,我就是无法理解为什么要使用这些运算符以及如何使用。将 int 取反并得到另一个数字固然可以做到,但这到底如何帮助我呢?我希望能够得到一个解释,介绍每个运算符的使用方式和示例。

谢谢大家!

1个回答

1

有很多应用,这里给出两个例子。假设您在一个一字节容器中存储了八个一位值。使用二的幂进行按位与操作可以轻松访问单个位。

如果您正在扫描RGB图像中的高强度像素,则可以使用对三个颜色值进行128的按位与运算;这比另一个布尔表达式如R>128更快。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接