当前位置:新励学网 > 秒知问答 > 算术移位与逻辑移位区别

算术移位与逻辑移位区别

发表时间:2024-07-28 05:52:43 来源:网友投稿

1.算术移位与逻辑移位 :

算术移位指令对带符号数进行移位。

逻辑移位指令对无符号数进行移位。算术左移、右移,逻辑左移、右移

这里有一个进位位C,它就是标志寄存器 (即状态寄存器,亦称程序状态字寄存器PSW)中的那个进位位,指 示是否有进位或者借位,若有则该位为1,否则为0。逻辑左移跟算术左移完全一样。而逻辑右移跟算术右移则 不一样,逻辑右移的最高位在移出后补0,而在算术右移中,最高位(这里的最高位指整个编码的最高位,即有 符号数的符号位)不变,其他跟逻辑右移一样。

2.循环移位

另外还有循环移位,分为带进位位C 和不带进位位C 两种

注意,在循环移位中没有算术、逻辑之分,只有是否带进位位之分,不要搞混淆 。在循环移位中,只有“带进位的循环右移”这种方式中,进位位C 才对移位后的结果产生影响,其他的进位位都是受影响(被 新移入的二进制位覆盖),这需要特别注意

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!