<<和>>在C#中分别代表着左移和右移
a<<1=a*2;
a<<2=a*4;
a<<3=a*8;
b>>1=b/2;
b>>2=b/4;
b>>3=b/8;
其原理是将上述a,b,转化为二进制后将所有数字向左或向右移动对应的位数,被移走的位置以0填充。
例:
十进制77 转化为二进制为 0000 0100 1101
77<<2 = 0001 0011 0100 二进制 0001 0011 0100 转化为十进制为 308=77*4
十进制64 转化为二进制为 0100 0000
64>>3 = 0000 1000 二进制 0000 1000 转化为十进制为 8=64/8
原文:https://www.cnblogs.com/QIUIUB/p/14702066.html