• <<,>>(有符号位移)和>>>(无符号位移)的使用方法,及差别


    <<  ——  有符号左移

    >>  ——  有符号右移

    <<<  ——  无符号左移

    >>>  ——  无符号右移

    无符号移位(>>>)和有符号移位(>>)的区别是:

    有符号位移运算时如果数字为正数时位移后在前面补0,为负数时则在位移后在前面补1

    例:

    100<<2

    4的二进制为

    0110  0100

    移除最后两位

    0110  01

    在前面补两个零

    0001  1001

    100>>2==25

    无符号移位运算时(>>>)如果数字为正数时移位后在前面补0,若为负数时移位后在前面补1

    100>>>2

    100的二进制是

    0110  0100

    向右移2位后为

    0110  01

    在前面补0得二进制为

    0001  1001

    100>>>2==25

    如果为-100

    -100的二进制为

    1111111111111111111111111111111111111111111111111111111111111100

    移除最后两位后

    11111111111111111111111111111111111111111111111111111111111111

    之后在前面补两位

    1111111111111111111111111111111111111111111111111111111111111111

    -100>>>2==-1

  • 相关阅读:
    Java 线程:(一)
    RK:Webview、Chrome
    CocosCreator 加载Bundle里的Prefab
    Canvas 绘画
    CocosCreator 要用3D节点实现skewX
    Unity 动态创建网格
    凹多边形三角剖分
    UnityHub 登录失败
    浮点数
    八皇后问题(回溯算法)
  • 原文地址:https://www.cnblogs.com/siduoxiaohua/p/10297961.html
Copyright © 2020-2023  润新知