如何有效地确定一个整数的汉明权是否正是一
How to efficiently determine whether the Hamming Weight of an integer is exactly one?
在C++03中给定一个32或64位整数,有什么有效的方法来确定是否正好有一个位集?(例如,值恰好是1、2、4、8、16、32等中的一个。)C++03库(如果没有,则是C++11)中是否有任何内置程序可以在我所在的任何硬件上高效工作?我想用这个来处理一个衰减消息,它在多次出现时出现的频率越来越低。
如果您有一个已知不为零的整数x
,则
if (0 == (x & (x - 1)))
{
there_is_only_1_bit = true;
}
相关文章:
- 检查输入是否不是整数或数字
- 是否基于数组B整数打印数组A中的整数
- 检查TCHAR数组输入是否为带符号整数C++
- 有没有一种优雅而快速的方法来测试整数中的 1 位是否位于连续区域
- 如果整数与指针大小相同,则重新解释将整数转换为指针双射是否具有双射作用?
- 在线程中读取无符号整数时,c++ 位是否以原子方式切换?
- 如何检测除整数以外的任何内容是否传递给我的类构造函数?
- 检查字符串是否为整数
- FlatBuffers/Protobuf 中是否有支持任意 24 位有符号整数定义的可移植二进制序列化架构?
- C++11 标准是否保证零值有符号整数的一元减号为零?
- 验证用户输入和整数是否C++
- 如何检查是否定义了固定宽度的整数
- 从双精度转换为整数的显式类型是否始终检查整数溢出?
- 将字符串转换为整数类型T,检查是否存在溢出
- 在C/C++中检查数字是否为整数(不带scanf/gets/etc)
- 整数指针数组的元素是否可以指向整数数组?
- 如何在 c++ 中解析包含整数的字符串并检查是否大于最大值
- 当 map 是一个整数数组并且由 operator[] 创建时,它是否初始化其映射类型
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- 整数浮点数除以自身是否保证为 1.f?