gpt4 book ai didi

C 代码计算 unsigned char 中 '1' 位的数量

转载 作者:太空狗 更新时间:2023-10-29 16:57:22 24 4
gpt4 key购买 nike

我需要 C 代码来返回 C 中 unsigned char 中 1 的个数。如果它不明显,我需要解释它为什么有效。我找到了很多 32 位数字的代码,但没有找到 unsigned char 的代码。

最佳答案

const unsigned char oneBits[] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4};

unsigned char CountOnes(unsigned char x)
{
unsigned char results;
results = oneBits[x&0x0f];
results += oneBits[x>>4];
return results
}

有一个数组,它知道从 0 到 15 的位数。将每个半字节的结果相加。

关于C 代码计算 unsigned char 中 '1' 位的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/697978/

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