【发布时间】:2019-03-21 01:51:38
【问题描述】:
将第 n 个位添加到 int 的最有效方法是什么?
我使用一个数字来跟踪具有相应索引的各种对象的布尔值,即。所有三个对象的 true 是二进制的 111 或 dec 的 7。我需要一种方法来更新其中一个对象的布尔值。
我最初的想法是这样做: 值 += 2^(索引)
但我觉得这可能不是最有效的方法。有更好的选择吗?或许,使用bit twiddling。
【问题讨论】:
-
您确实必须指定一种语言才能获得有意义的答案。对于 C、C++ 和 C#,请参阅 stackoverflow.com/q/7285296/11683。
-
谢谢你回答了我的问题
-
好的。有没有一种好方法可以检查是否设置了位,而无需存储一堆掩码,也无需使用负数方法,因此它可以独立于系统?
-
你打算如何实现 2^Index ?
标签: algorithm binary bit-manipulation bit