美文网首页
算术右移还是逻辑右移

算术右移还是逻辑右移

作者: RC_HT | 来源:发表于2019-06-05 16:28 被阅读0次

    算术右移

    所谓算术右移,就是将补码右移并在空出来的地方填充符号位,这样做的目的就是利用补码的规则实现右移一位等效于数值缩小一倍,比如-3变为-1,-2变为-1,而-1比较特殊,右移还是-1.

    逻辑右移

    逻辑右移更简单,将补码右移空出来的地方填充0,实现“物理逻辑上”的右移。

    标准未定义行为

    因为C++并没有规定整型的底层使用补码实现的,所以对带符号的整型右移标准并没有规定执行的是算术右移还是逻辑右移

    相关文章

      网友评论

          本文标题:算术右移还是逻辑右移

          本文链接:https://www.haomeiwen.com/subject/nuksxctx.html