Pat*_*ick 1 binary matlab hammingweight
相当简单的问题:我有一个整数列表,例如,
a = [7 8]
Run Code Online (Sandbox Code Playgroud)
现在我想要一个单独的列表,其中包含列表中每个整数的汉明权重(即二进制表示中的1位数).这意味着上面的整数列表的结果应如下所示:
res = [3 1]
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何快速完成这项工作?
这有点hacky,但它的工作原理:
res = sum( dec2bin(a).' == '1' );
Run Code Online (Sandbox Code Playgroud)
它转换a为二进制表示,查看该表示中有多少个字符'1',并总结这些数字.