位操作函数

36 浏览
0 Comments

位操作函数

这个问题已经有答案了

可能是重复问题:

如何在C语言中设置、清除和切换单个比特位?

我正在为即将到来的期末考试学习,我想验证一些来自学习指南的问题。

一些背景:

  • Set()函数将字节中的一位设置为1
  • Unset()函数将字节中的一位设置为0
  • Flip()函数将比特位“翻转”为相反的状态

我们班上有个孩子主动回答了这些学习指南的问题,但我已经发现了一些错误,而且回答听起来有些靠不住。这就是他所说的内容:

哪个操作用于Set?或运算符 |

哪个操作用于Unset?Xor运算符^,做两次

哪个操作用于Flip?Xor运算符^

这些是实现我上述描述的函数的正确位运算符吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

\n\n你的第一个想法是正确的,但是对于 Unset(),你应该在该位上使用一个带有 0&

0
0 Comments

设置使用或

取消使用与

翻转使用异或

这个问题已经在这里得到了回答:
如何设置、清除和切换单个比特?

0