如何进行位插入

时间:2017-07-27 15:31:39

标签: binary bit-manipulation binary-operators

如何将位插入某个位置?

例如,如果我有一个整数115(即 b1110011 )。
我想从右边向第3个位置插入整数3(即 b11 )。在这种情况下,让我们假设我知道要插入的二进制文件的大小。例如,我知道3是2位二进制数。

因此得到的二进制数为475(即 b1110 11 011

我有一个解决方案,但似乎很复杂。它首先涉及向左移位2位数字以便为新位提供空间。然后将最右边的 2 +位置位设置为零。因此,我现在 1110 00000
然后我将OR结果从原始位更改最右边的 2 +位置的粗体位部分,前两个位置更改为我要插入的位。 (即 11 011 )。
因此最后我将111000000 | 11011 == 111011011

但我认为我的解决方案太复杂了。那么,有没有更好的方法来做这个操作?

0 个答案:

没有答案