如何将位插入某个位置?
例如,如果我有一个整数115(即 b1110011 )。
我想从右边向第3个位置插入整数3(即 b11 )。在这种情况下,让我们假设我知道要插入的二进制文件的大小。例如,我知道3是2位二进制数。
因此得到的二进制数为475(即 b1110 11 011 )
我有一个解决方案,但似乎很复杂。它首先涉及向左移位2位数字以便为新位提供空间。然后将最右边的 2 +位置位设置为零。因此,我现在 1110 00000 。
然后我将OR
结果从原始位更改最右边的 2 +位置的粗体位部分,前两个位置更改为我要插入的位。 (即 11 011 )。
因此最后我将111000000 | 11011 == 111011011
。
但我认为我的解决方案太复杂了。那么,有没有更好的方法来做这个操作?