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

 

posted @ 2017-04-21 16:09  逍遥帝君  阅读(4669)  评论(1编辑  收藏  举报