一个例子理解C#位移

C#位移运算符

移:<<

移:>>

 

位移理解可能简单一些:其实就是数据转换成二进制的左右移动;右移左补0,左移右补0,后面多出来的部分去掉。


用乘除法去理解位移也可以:

     左位移:相当于

             左移1位相当于乘2,左移2位相当于乘4,左移3位相当于乘8,左移4位相当于乘16...类推

     位移:相当于

             右移1位相当于除2,右移2位相当于除4,右移3位相当于除8,右移4位相当于除16...类推

 

 

下面用一个曾经回答一个网友的提问来理解一下位移的运算

 

题目:把89右位移一位:

   string flag = Convert.ToString(89, 2);    //这是把你的89转为2进制数。。
  
  //flag结果:1011001
  //你要右位移,左边补个0,后面多出来一位去掉    int j = Convert.ToInt32("0101100", 2);    //再把2进制转化了10进制数。。

  //结果:44

  //位移就是这么简单

 

此条目发表在article分类目录。将固定链接加入收藏夹。