C# 位移运算
一:“<<”和“>>”运算符用于执行移位运算,分别称为左移位运算符和右移位运算符。对于X<<N和X>>N形式的运算,含义是将X向左或向右移动N位,得到的结果的类型与X相同。此处,X的类型只能是int,uint、long或ulong,N的类型只能是int,N的类型只能是int,或者显示转换为这些类型之一,否则变异程序时会出现错误。位移可以简单的理解为参数与2的幂进行运算
二:向左位移"<<",向左位移相当于进行乘法运算
向左位移,相当于当前参数乘以2的位移次方 3<<1 等于 3*(2的一次方) 等于 3*2 3<<2 等于 3*(2的2次方) 等于 3*4 3<<3 等于 3*(2的3次方) 等于 3*8 3<<4 等于 3*(2的4次方) 等于 3*16
三:向右位移">>",向右位移相当于进行除法运算表
向左位移,相当于当前参数乘以2的位移次方 16>>1 等于 16/(2的一次方) 等于 16/2 16>>2 等于 16/(2的2次方) 等于 16/4 16>>3 等于 16/(2的3次方) 等于 16/8 16>>4 等于 16/(2的4次方) 等于 16/16