c#位移符号

在这之前先复习一下二进制转换,"1010" = 21 + 23 = 10;

再复习一下十进制转二进制(这个和下面没关系,纯粹的复习,毕竟我容易忘记):

比如说13 = 1101 (倒着来)

13 / 2 = 6 ...1

 6 / 2 = 3 ... 0

 3 / 2 = 1 ... 1

 1 / 2 = 0 ... 1

 

好了,进入正题:

">>"或者"<<"这样的符号叫位移运算符,就是把数据转成2进制数以后向左或者向右移动n位。

比如 1010 << 2 = 1000,高位丢失,低位0补充;

   1010 >> 2 = 0010,右移相反。

对整数进行位移运算相当于"<<"相当于乘,左移n位,等于乘上了2的n次幂;  ">>"相当于除,右移n为相当于除以2的n次幂。

下面上代码:

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(15 >> 2);
            Console.WriteLine(15 << 2);
        }
    }

 

结果:

那么为什么要用位移运算符呢?原因是运算会快一点。

 

posted on 2019-06-28 13:27  炼金师  阅读(444)  评论(0编辑  收藏  举报

导航