我看到在使用了一个有趣的技术,答案到另一个问题,并想好一点理解。
我们给了一个无符号的64位整数,我们对以下位感兴趣:
1.......2.......3.......4.......5.......6.......7.......8.......
具体来说,我们希望将它们移动到前八位,如下所示:
12345678........................................................
我们不在乎由指示的位的值.,也不必保留它们。
该溶液是屏蔽掉不需要的位,并且乘以结果0x2040810204081。事实证明,这可以解决问题。
这种方法有多普遍?可以使用这种技术来提取位的任何子集吗?如果不是,那么如何确定该方法是否适用于特定的一组位?
最后,如何找到正确的(a?)乘法器以提取给定的位?
饮歌长啸
互换的青春
相关分类