gpt4 book ai didi

c - 位操作 :print the next smallest and largest numbers with same no of 1 bits

转载 作者:太空狗 更新时间:2023-10-29 14:49:25 26 4
gpt4 key购买 nike

给定一个整数,打印其二进制表示中具有相同 1 位数的下一个最小和下一个最大数

统计数字中1的个数后,如何判断下一个最小的数?

最佳答案

对于下一个高点,您可以使用 Hakmem 175:

第 175 项(高斯珀):

要获得具有相同数量的 1 的下一个更高的数字:

unsigned nexthi_same_count_ones(unsigned a) {
/* works for any word length */
unsigned c = (a & -a);
unsigned r = a+c;
return (((r ^ a) >> 2) / c) | r;
}

对于下一个较低的我不知道快速算法所以我会使用经典方法,如果数字是 > 然后 2^0+2^1+...2^n 然后从你的数字中减去一个并计算位数。第一个 n 位的数字是一个。

关于c - 位操作 :print the next smallest and largest numbers with same no of 1 bits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498130/

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