亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c語言中符號<<是什么意思

c語言中符號<<是什么意思

Go
紅顏莎娜 2019-03-28 22:18:25
c語言中符號<<是什么意思
查看完整描述

4 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

左移運算符(<<)

將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。

例:a = a << 2 將a的二進制位左移2位,右補0,

左移1位后a = a * 2;

若左移時舍棄的高位不包含1,則每左移一位,相當于該數乘以2。
右移運算符(>>)

將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。

操作數每右移一位,相當于該數除以2。

例如:a = a >> 2 將a的二進制位右移2位,

左補0 or 補1 得看被移數是正還是負。

查看完整回答
反對 回復 2019-03-31
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

左移運算符
<<(左移)
運算規則:
按二進制形式把所有的數字向左移動對應的位數,高位移出(舍棄),低位的空位補零。
語法格式:
需要移位的數字 << 移位的次數
例如: 3 << 2,則是將數字3左移2位
計算過程:
3 << 2 首先把3轉換為二進制數字0000 0011,然后把該數字高位(左側)的兩個零移出,其他的數字都朝左平移2位,最后在低位(右側)的兩個空位補零。則得到的最終結果是0000 1100,則轉換為十進制是12。

查看完整回答
1 反對 回復 2019-03-31
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

herenzi 
2017-12-01

展開全部

意思是向左移位

比如char a = #0000 0001;
那么 a << 1 == #0000 0010;
可以看到1向左移動了一位,并且在原本的1位上添加了一個0
那么這個時候pinrtf("%d",a); 結果輸出2
同理char c = #0010 1100; //c ==44
c << 2 == #1011 0000;
printf("%d",c); //輸出 174

 


查看完整回答
反對 回復 2019-03-31
  • 4 回答
  • 0 關注
  • 17586 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號