這個movers<<=1是什么意思,比如movers為1那執行后結果是怎樣
uj5u.com熱心網友回復:
左移一位,相當于乘2uj5u.com熱心網友回復:
這是位運算,<<是左移,>>是右移,是對二進制的操作和一般運算子操作一樣,比如+,+1表示加1,變數+=1就是變數+1的結果再賦給變數
同理,<<1表示左移1位,變數<<=1就是變數左移1位的結果再賦給變數
因為是二進制,所以左移1位相當于乘2,右移1位相當于除以2,
比如,移1個位元組8位bit來舉例,二進制00000001(十進制 1),左移1位變成00000010(十進制 2),高位舍棄低位補0,十進制從1變成2,相當于乘2。
uj5u.com熱心網友回復:
為什么還要加個等號,直接movers<<1這樣可以嗎
uj5u.com熱心網友回復:
類似于i+=1;i+=1;
i=i+;
=======
m<<=1;
相當于 m=m<<1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/160305.html
標籤:C語言
