我正在学习位操作,我正在考虑一个问题,并希望得到一些澄清
如果给出类似0000111111111111;
我想要2个功能:
假设我从右到左阅读索引,索引从1开始,即索引1-12 = 1,索引13,14,15,16 = 0
如果我想这样做,我从左边开始删除一个零
如果我想在左边添加一个零,那么它就变成0001111111111111
答案 0 :(得分:0)
如果我想这样做,我从左边开始删除一个零 我是否正确地认为1的正确转变会实现我的目标 要什么?
答案: No
。如果您right-shift
,则通过将所有位移至one
右侧来更改数字,而least significant bit
(最右侧的位置)会下降结束:
0000011111111111;
如果我想在左边添加一个零,那么它就变成了0001111111111111 我该如何实现这个目标?
回答:您left-shift
并添加1
:
0000111111111111; original
0001111111111110; left-shift
0001111111111111; +1