var x = 2;
var y=x+2<<2;
Console.WriteLine(y);
output = 16
我的疑問是,16是如何來的。我知道按位左移操作符。什麼樣的操作完成。C#.net按位左移操作。
var x = 2;
var y=x+2<<2;
Console.WriteLine(y);
output = 16
我的疑問是,16是如何來的。我知道按位左移操作符。什麼樣的操作完成。C#.net按位左移操作。
注意運營商的優先級。 2 + 2 << 2
是不是2 + (2 << 2)
。
其下同 -
x + 2 = 4;
4 << 2 ////it means 16 if you perform bitwise on this.
應將描述來了解讓換檔操作: -
位移位到左側。運營商左側的號碼是 將號碼指定的地點數量向右移。 向左移動的次數會使數字加倍,因此每個左移 會將原始數字乘以2.左移使用快速 乘法或將一組數字打包在一起放入一個較大的 數字。左移僅適用於整數或數字, 自動轉換爲整數,如字節和字符。
所以你的情況可以說呈現4是100
,它會通過2
偏移,從而成爲10000
這是16
演示: -
for 4 :- 100
left shift by 2 so,
10000 ////Which is 16
這一點,你掙扎?其基本上(2 + 2)* 4 – Sayse 2014-09-02 09:17:51