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(); } } }
结果: