我使用 64 位整数中的位存储标志。
我想知道在 64 位整数中的任何位置是否都设置了一个位(我不关心任何特定位的位置)。
boolean isOneSingleBitSet (long integer64)
{
return ....;
}
我可以使用Bit Twiddling Hacks (by Sean Eron Anderson)计算位数,但我想知道检测是否设置了一个位的最有效方法是什么......
我发现了一些其他相关的问题:
还有一些维基百科页面:
注意:我的应用程序是用 java 编写的,但我对使用其他语言的优化感到好奇......
编辑:Lưu Vĩnh Phúc指出,我的问题中的第一个链接已经得到了答案:请参阅Bit Twiddling Hacks 中的Determining if an integer is a power of 2 in the Bit Twiddling Hacks(Sean Eron Anderson)部分。我没有意识到一位与二的幂相同。