-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