• 逻辑右/左移与算术右/左移


    逻辑左移=算数左移,每次移动,右边统一添0。

    逻辑右移,不管符号位,左边统一添0.比如一个有符号位的8位二进制数11001101,如果移一位就变成01100110.

    算数右移,左边添加的数和符号有关。见最后例子。

    e.g:1010101010,其中[]位是添加的数字

    逻辑左移一位:010101010[0]

    算数左移一位:010101010[0]

    逻辑右移一位:[0]101010101

    算数右移一位:[1]101010101

     C中实现逻辑右/左移与算术右/左移的方法:

    算术左移和逻辑左移(两者效果一样):  <<

    算术右移:  >>

    逻辑右移:   需将操作数强制类型转化为无符号数

    java中实现逻辑左右移与算术左右移的方法:

    算术右移:  >>

    逻辑右移:  >>>

    参考:http://blog.sina.com.cn/s/blog_65311d330100ij9n.html

  • 相关阅读:
    [SCOI2007]降雨量
    [SCOI2005]骑士精神
    LUOGU P1342 请柬
    spfa的复活
    Luogu P2396 yyy loves Maths VII
    Luogu P2801 教主的魔法
    HEOI2012 采花
    USACO05DEC Cleaning Shifts
    CF438D The Child and Sequence
    Codechef October Challenge 2019 Div.2
  • 原文地址:https://www.cnblogs.com/jiaoqiang/p/8743634.html
Copyright © 2020-2023  润新知