为什么Updating bit需要先清零再置位?

Why Updating bit needs to clear the bit before setting it?

在阅读一本编码书籍 ("Cracking The Coding interview") 时,我看到了一个关于位操作的描述:更新位。它告诉我在设置之前先清除该位。相关书籍章节请见附图。我对这种操作的目的有点困惑:
v 好像只有1位的值。如果是这样,使用if else 条件来决定是否设置该位,而不是先清除该位然后设置它不是更简单吗?

只是想确保如果使用上面提到的if-else方法与使用两个掩码的书本方法相比没有逻辑缺陷。

可以。我想你的建议或给出的代码是否更简单是一个品味问题。你将需要 3 行,这个函数有 2 行,并且没有分支,这可以看作是更简单的。图中的代码可能更快,尽管可能很难想出一个可以衡量差异的程序。