计算汉明重量,在Java中也称为popcount? 我不知道如何将这从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, 如果我用那种类型的,不管它是什么,我能留下剩下的吗 代码不变计算汉明重量,在Java中也称为popcount? 我不知道如何将这从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; },java,c++,nlp,computer-vision,porting,Java,C++,Nlp,Computer Vision,Porting,更具体地说,我不知道用什么来代替uint32\t, 如果我用那种类型的,不管它是什么,我能留下剩下的吗 代码不变 感谢它是在Integer.bitCount(inti)中为您实现的。首先,在Java中没有与uint32\u t等价的东西,您必须使用long。我不确定到底要尝试什么。似乎有太多事情会出错。@fge:Anint应该可以正常工作,尽管有些运算符可能需要稍微更改…将第一行更改为static int-popcnt32(int-n)。其余的可以保持原样,尽管在某些地方使用>>而不是>可以被认
感谢它是在
Integer.bitCount(inti)
中为您实现的。首先,在Java中没有与uint32\u t
等价的东西,您必须使用long
。我不确定到底要尝试什么。似乎有太多事情会出错。@fge:Anint
应该可以正常工作,尽管有些运算符可能需要稍微更改…将第一行更改为static int-popcnt32(int-n)
。其余的可以保持原样,尽管在某些地方使用>>
而不是>
可以被认为更干净。