好的,各位,我知道我想要做什么,但我不知道它是否已经存在(作为函数或理论)或如何描述它,所以我需要你们的帮助:
- 假设我们有一个二进制数:(最高有效位)
10101110
(最低有效位) - 从第X位开始,一旦遇到第一个零位,我就想将所有其他位(向左移位)清零。
- 尽可能快地完成,使用必需的最少数量操作和CPU周期
举个例子:
- 数字=10101110,起始位置=1(第1位的位=1)
- position++-第2位的位=1,继续
- position++-第3位的位=1,继续
- position++-第4位的位=0,糟糕…遇到了零…现在,所有位都必须归零。
因此,我们想象中的函数CROPLEFT(X,POS)的最终结果,其中X = 10101110,POS = 1,将返回00001110
。
有什么想法吗?