-4
我正在学习位操作和我正在考虑一个问题,想澄清位操作澄清用C
如果给像0000111111111111;
,我想2个功能:
假设我从右向左阅读索引,索引从1开始,即索引1-12 = 1,索引13,14,15,16 = 0
如果我想要让这个我去掉一个零,从左侧
- 我在想,由1右移会达到我想要纠正开始?
如果我想要一个零添加到左侧,使其成为
0001111111111111
- 我如何去实现呢?
我正在学习位操作和我正在考虑一个问题,想澄清位操作澄清用C
如果给像0000111111111111;
,我想2个功能:
假设我从右向左阅读索引,索引从1开始,即索引1-12 = 1,索引13,14,15,16 = 0
如果我想要让这个我去掉一个零,从左侧
如果我想要一个零添加到左侧,使其成为0001111111111111
如果我想要让这个我去掉一个零,从左侧 我在想,由1右移将实现我 想要什么正确的起动?
答案:No
。如果您right-shift
,你被转移所有位由one
换号向右和least significant bit
(一种最右侧)脱落的末尾:
0000011111111111;
如果我想补充一个零左,所以它变成0001111111111111 我该如何去实现这个?
答:你left-shift
,并添加1
:
0000111111111111; original
0001111111111110; left-shift
0001111111111111; +1
左右排序和指数从1开始让我头疼。 – 2014-12-04 20:20:02