Csharp/CSharp Tutorial/Operator/shift operator
Shift Operators in action
using System;
class MainClass
{
static void Main(string[] args)
{
uint a = 0;
uint b = 0;
a = 8 << 3;
Console.WriteLine(a);
b = 32 >> 4;
Console.WriteLine(b);
}
}
64 2
Shift Operators: shift left and right
using System;
class MainClass
{
static void Main()
{
int a, b, x = 14;
a = x << 3; // Shift left
b = x >> 3; // Shift right
Console.WriteLine("{0} << 3 = {1}", x, a);
Console.WriteLine("{0} >> 3 = {1}", x, b);
}
}
14 << 3 = 112 14 >> 3 = 1
The Shift Operators
- <<: Left shift
- >>: Right shift
The general forms for these operators are shown here:
value < num-bits
value > num-bits
- A "left shift" shift all bits to the left and a zero bit to be brought in on the right.
- A "right shift" causes all bits to be shifted right one position.
- In the case of a right shift on an unsigned value, a zero is brought in on the left.
- In the case of a right shift on a signed value, the sign bit is preserved.