zoukankan      html  css  js  c++  java
  • 一个例子理解C#位移

    很多人提问,不知道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

    //位移就是这么简单

    这样理解位移运算就很容易...

  • 相关阅读:
    1 Groovy
    HDU
    伸展树整理
    HYSBZ
    markdown语法整理
    HDU
    【JZOJ3085】图的计数【数论】
    【JZOJ3085】图的计数【数论】
    【JZOJ3084】超级变变变【模拟】【规律】
    【JZOJ3084】超级变变变【模拟】【规律】
  • 原文地址:https://www.cnblogs.com/liufei88866/p/2241144.html
Copyright © 2011-2022 走看看