C#中<< 是什么意思
慕的地6264312
2018-07-30 17:17:39
TA貢獻1828條經驗 獲得超3個贊
右移運算符 (>>) 將第一個操作數向右移動第二個操作數所指定的位數。
如果第一個操作數為 int 或 uint(32 位數),則移位數由第二個操作數的低五位給出(第二個操作數 & 0x1f)。
如果第一個操作數為 long 或 ulong(64 位數),則移位數由第二個操作數的低六位給出(第二個操作數 & 0x3f)。
如果第一個操作數為 int 或 long,則右移位是算術移位(高序空位設置為符號位)。如果第一個操作數為 uint 或 ulong 類型,則右移位是邏輯移位(高位填充 0)。
用戶定義的類型可重載 >> 運算符;第一個操作數的類型必須為用戶定義的類型,第二個操作數的類型必須為 int。有關更多信息,請參見 operator。重載二元運算符時,也會隱式重載相應的賦值運算符(如果有)。
具體的使用方法的話:
int i = 8;
Console.WriteLine(i >> 3);
/*
Output:
1
向右移動3位,相當于除以8
*/
TA貢獻2041條經驗 獲得超4個贊
左移操作符,
將第一個操作數向左移動第二個操作數指定的位數,空出的位置補0。
左移相當于乘. 左移一位相當于乘2;左移兩位相當于乘4;左移三位相當于乘8。
如:
x<<1= x*2
x<<2= x*4
x<<3= x*8
x<<4= x*16
舉報