6

所以我目前正在通过“SAMS每天1小时自学C++”一书学习C++。到目前为止,一切都很棒——我已经理解了所说的一切,并且我已经设法在简单的程序中使用它们来练习它们。

但是,我刚到有关按位运算符的部分,我完全被难住了。我知道您有 &、~、|、<<、>> 等,并且我知道每个人都对二进制形式的数字执行不同的操作,因为 ~ 将数字翻转过来。

我遇到的问题是我无法理解您要如何以及为什么要使用它们。取一个整数,翻转二进制数字并获得另一个数字,这一切都很好,但这究竟对我的形状或形式有什么帮助?我希望能解释一下你为什么要使用每一个,如果可能的话,也许是一个例子?

感谢大家!

4

1 回答 1

1

有很多应用程序,但这里有两个示例。假设您在一个单字节容器中存储了八个单位值。按位和 2 的幂可以轻松访问各个位。

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

于 2013-05-09T20:27:44.510 回答