|
1
7
|
|
|
2
0
您希望代码的可读性如何?
这是“黑客的喜悦”中的比特计数算法,这是一个有用的比特撞击算法的古老宝库。
执行成对的比特相加。请注意
所以
这意味着,如果每对中都设置了2,则减去结果将减去1,如果未设置,则不减去任何结果。在每一对比特中,您现在都有该对的计数,存储在该对曾经所在的位置。 然后,其他行进行成对求和,将每对“2位”的计数相加,将每一对“4位”的数相加,将每个对“8位”的总数相加,以此类推。如果你需要做两个64位字,你可以多加一行。 最后,要查看是否设置了一个位,请检查计数是否等于1。
请注意,虽然这很有趣,但最好使用
黑客的喜悦 https://learning.oreilly.com/library/view/hackers-delight-second/9780133084993/ |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |