为什么要使用按位运算符?

Why would you use Bitwise operators?

本文关键字:运算符 为什么      更新时间:2023-10-16

所以我目前正在通过《SAMS每天1小时自学c++》这本书学习c++。到目前为止,它非常棒——我已经理解了所说的一切,并且我已经设法在简单的程序中使用它们来实践它们。

然而,我刚读到Bitwise操作符的部分,我完全被难住了。我知道你有&, ~, |, <<,>>等等,我也知道每一个都对二进制形式的数字执行不同的动作,因为~将数字翻转过来。

我的问题是,我就是不明白你要如何以及为什么要使用它们。我取一个整型数,把它的二进制数字翻过来,得到另一个数字,这很好,但这对我有什么帮助呢?我希望你能解释一下为什么你会使用每一个,如果可能的话,也许是一个例子?

谢谢大家!

有很多应用程序,但这里有两个例子。假设在一个1字节容器中存储了8个1位值。按位计算,加上2的幂可以很容易地访问单个比特。

如果你正在扫描RGB图像中的高强度像素,你可以使用位- 128对三种颜色值;这比另一个布尔表达式(如R>128)更快。