代码之家  ›  专栏  ›  技术社区  ›  Shweta

算术移位

  •  1
  • Shweta  · 技术社区  · 15 年前

    逻辑右移和算术右移有什么区别?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Andrew Cooper    15 年前

    算术右移重复符号位。逻辑移位忽略符号位,最左边的位变成 0 .

    8位右移以保持简单。

    例1

    11100101 原始位
    11110010
    01110010 逻辑右移

    例2

    00011101 原始位
    00001110 算术右移
    0000110号 逻辑右移

    0个 .

        2
  •  3
  •   Ignacio Vazquez-Abrams    15 年前

    LSR将位右移,并用0填充MSb。ASR将位右移,并用移位前的任何内容填充MSb,这保留了有符号数字的“除以2”机制。

        3
  •  1
  •   Amber    15 年前