4 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
左移運(yùn)算符(<<)
將一個(gè)運(yùn)算對(duì)象的各二進(jìn)制位全部左移若干位(左邊的二進(jìn)制位丟棄,右邊補(bǔ)0)。
例:a = a << 2 將a的二進(jìn)制位左移2位,右補(bǔ)0,
左移1位后a = a * 2;
若左移時(shí)舍棄的高位不包含1,則每左移一位,相當(dāng)于該數(shù)乘以2。
右移運(yùn)算符(>>)
將一個(gè)數(shù)的各二進(jìn)制位全部右移若干位,正數(shù)左補(bǔ)0,負(fù)數(shù)左補(bǔ)1,右邊丟棄。
操作數(shù)每右移一位,相當(dāng)于該數(shù)除以2。
例如:a = a >> 2 將a的二進(jìn)制位右移2位,
左補(bǔ)0 or 補(bǔ)1 得看被移數(shù)是正還是負(fù)。

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
左移運(yùn)算符
<<(左移)
運(yùn)算規(guī)則:
按二進(jìn)制形式把所有的數(shù)字向左移動(dòng)對(duì)應(yīng)的位數(shù),高位移出(舍棄),低位的空位補(bǔ)零。
語法格式:
需要移位的數(shù)字 << 移位的次數(shù)
例如: 3 << 2,則是將數(shù)字3左移2位
計(jì)算過程:
3 << 2 首先把3轉(zhuǎn)換為二進(jìn)制數(shù)字0000 0011,然后把該數(shù)字高位(左側(cè))的兩個(gè)零移出,其他的數(shù)字都朝左平移2位,最后在低位(右側(cè))的兩個(gè)空位補(bǔ)零。則得到的最終結(jié)果是0000 1100,則轉(zhuǎn)換為十進(jìn)制是12。

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
herenzi
2017-12-01
展開全部
意思是向左移位
比如char a = #0000 0001;
那么 a << 1 == #0000 0010;
可以看到1向左移動(dòng)了一位,并且在原本的1位上添加了一個(gè)0
那么這個(gè)時(shí)候pinrtf("%d",a); 結(jié)果輸出2
同理char c = #0010 1100; //c ==44
c << 2 == #1011 0000;
printf("%d",c); //輸出 174
- 4 回答
- 0 關(guān)注
- 671 瀏覽
添加回答
舉報(bào)