算术右移 是什么?

 我来答
求真实验室
2022-10-13 · 探索生活中的科学奥秘
求真实验室
太平洋电脑网是专业IT门户网站,为用户和经销商提供IT资讯和行情报价,涉及电脑,手机,数码产品,软件等。
向TA提问
展开全部

算术右移是将各位依次右移指定位数,然后在左侧补0,算术右移(SAR)是将各位依次右移指定位数,然后在左侧用原符号位补齐。

比如,在汇编语言中,对于算术右移,如果最高位为1,则补1,否则补0, 如将10000000算术右移7位,应该变成11111111,而逻辑右移7位,则不考虑符号位,变为00000001,这点就是算术右移和逻辑右移的区别。

在汇编中,可以用算术右移来进行有符号数据的除法。把一个数右移n位,相当于该数除以2的n次方。

扩展资料

算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。

所以算术右移也可以进行有符号位的除法,右移,n位就等于除2的n次方。


例如,8位二进制数11001101分别右移一位。

逻辑右移就是[0]1100110

算术右移就是[1]1100110

一、对于有符号数 int

正数,左移直接丢弃最高位,在低位补对应个数的0;

正数,右移直接丢弃最低位,在高位补对应个数的0;

负数,左移直接丢弃最高位,在低位补对应个数的0;

负数,右移直接丢弃最低位,在高位补对应个数的1;


二、对于无符号数 unsigned int

左移直接丢弃最高位,在低位补对应个数的0;

右移直接丢弃最低位,在高位补对应个数的0,即使最高位原来是1。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式