Этот оператор является бинарным, переносит все биты на заданное количество позиций влево, при этом освобождающие позиции справа заполняются нулями, а слева исчезают. Первый операнд — изменяемая целочисленная переменная, а второй — целочисленная переменная, задающая величину сдвига.
В двоичной системе счисления сдвиг бита на одну позицию влево эквивалентен умножению на 2.
Чуть подробней: 4 << 1
00000000000000000000000000000100
00000000000000000000000000000100
00000000000000000000000000001000
В двоичной системе счисления сдвиг бита на одну позицию влево эквивалентен умножению на 2.
Чуть подробней: 4 << 1
00000000000000000000000000000100
00000000000000000000000000000100
00000000000000000000000000001000
Main.cs
using
System;
class
Program {
-
public
static
int
Main() {
-
int
val = 4;
-
val = val << 1;
-
Console.WriteLine(val);
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
class
Program {
-
public
static
int
Main() {
-
int
val = 4;
-
val = val << 1;
-
Console.WriteLine(val);
-
Console.ReadKey();
-
return
0;
-
}
}
8