gpt4 book ai didi

java - 计算汉明权重,在 Java 中也称为 popcount?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:29 29 4
gpt4 key购买 nike

我不确定如何将其从 C++ 转换为 Java。它是一个计算汉明权重的函数。

/** This is popcount_3() from:
* http://en.wikipedia.org/wiki/Hamming_weight */
unsigned int popcnt32(uint32_t n) const
{
n -= ((n >> 1) & 0x55555555);
n = (n & 0x33333333) + ((n >> 2) & 0x33333333);
return (((n + (n >> 4))& 0xF0F0F0F)* 0x1010101) >> 24;
}

更具体地说,我不知道用什么代替 uint32_t,如果我使用那种类型,不管它是什么,我可以留下其余的吗代码不变?

谢谢

最佳答案

它已在 Integer.bitCount(int i) 中为您实现

关于java - 计算汉明权重,在 Java 中也称为 popcount?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14297674/

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