gpt4 book ai didi

c++ - 检查一个字节中 ON 的位数?

转载 作者:行者123 更新时间:2023-11-28 07:23:19 25 4
gpt4 key购买 nike

我知道我们可以使用逻辑或设置字节中的任何位,并可以使用逻辑与清除任何位喜欢

    val |= (1<<order_number_of_bit_to_set);   //for setting some specific number of bit 

并清除一点

    val &= ~(1<<order_number_of_bit_to_clear); // specific bit to clear

但我的问题是我们如何检查字节中设置了多少个有序数字位。

例如如果我们有

    val = 0x22;

表示字节中设置了第2位和第5位

什么是高效、快速和最短的方法?

想到的快速解决方案是遍历所有位并检查它们的顺序,如果已设置,则记录并显示位的顺序。

但是还有其他有效的方法吗?

最佳答案

你应该检查这个 Built-Ins declarations 你可以使用函数 __builtin_popcount (unsigned int x)返回 x 中 1 位数。

关于c++ - 检查一个字节中 ON 的位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19106342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com