辨析逻辑移位与算术移位

逻辑移位与算术移位的区别:
逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位

算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性

源码:左移右移补零
反码:左移右移补一
补码:左移补零,右移补一
左移时可能产生溢出错误,右移时可能丢失精度

你可能感兴趣的:(计算机)