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 得看被移數是正還是負。

瀟湘沐
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
- 4 回答
- 0 關注
- 17586 瀏覽
添加回答
舉報
0/150
提交
取消