C# 中左移运算
将一个数换算成二进制,整体向左移动指定的位数。
如:7的二进制在Int32中二进制表达为:
00000000 00000000 00000000 00000111
将其左移一位则变为:
00000000 00000000 00000000 00001110
若移位后超出最大位数,则超出部分舍掉,如:
Int32中最大值的二进制数为:
01111111 11111111 11111111 11111111
左移三位,变为:
11111111 11111111 11111111 11111000
下面的代码展示了这个过程
namespace _20200322
{
class Program
{
static void Main(string[] args)
{
int a = int.MaxValue;
int b = a << 3;
string sta = Convert.ToString(a, 2).PadLeft(32, '0');
string stb = Convert.ToString(b, 2).PadLeft(32, '0');
Console.WriteLine("a = " + a);
Console.WriteLine("b = " + b);
Console.WriteLine("左移前a:" + sta);
Console.WriteLine("左移后a:" + stb);
Console.ReadKey();
}
}
}结果:

鲁公网安备 37148202000241号