n位整数中有多少1?
-
05-07-2019 - |
题
我今天遇到的一个有趣的问题:在n位整数中计算1的数量的最快方法是什么?是否有可能击败O(n)?
例如:
42 = 0b101010 => 3 ones
512 = 0b1000000000 => 1 one
显然,天真算法只是简单计算。但是,加速它有什么技巧吗?
(这仅仅是一个学术问题;通过实施这样的策略没有预期的性能提升。)
解决方案
请参阅精彩的 Bit Twiddling Hacks文章。
不隶属于 StackOverflow