【发布时间】:2012-08-06 18:00:16
【问题描述】:
我正在为即将到来的期末考试而学习,我想验证学习指南中的一些问题。
一些上下文:
-
Set()函数将一个字节中的一位设置为 1 -
Unset()函数将一个字节中的一个位设置为 0 -
Flip()函数将位“翻转”到它的反面
所以我们班的某个孩子自己回答了学习指南问题,但我已经发现了一些错误,这些答案听起来很可疑。他是这样说的:
Set 使用了哪个操作?或运算符 |
Unset 使用哪个操作? Xor 运算符 ^ 完成两次
翻转使用哪种操作?异或运算符^
这些是在我上面描述的函数中实现的正确的按位运算符吗?
【问题讨论】:
-
第二个是错的——第一个和第三个都可以。想一想 - 翻转(反转)两次并不会取消它。
-
...正如这个问题所示,请在提问之前进行一些搜索。 Paul 指向的副本只是这个问题在网络上的一个可能资源。
标签: c++ c bit-manipulation bitwise-operators