SAR,SHR,SAL,SHL区别

是不是就是SAR不是补0,其他的都是补0呢比如100,SAL1位后是不是000.SAR1位后是不是110... 是不是就是SAR不是补0,其他的都是补0呢

比如100,SAL1位后是不是000.SAR1位后是不是110
展开
 我来答
百度网友7247a56
推荐于2017-09-04 · TA获得超过4616个赞
知道大有可为答主
回答量:1422
采纳率:92%
帮助的人:490万
展开全部
SHL,SAL分别是逻辑左移和算术左移,运行结果是一样的,都是数据往左移动,然后在右边补零;
SHR是逻辑右移,数据往右移动,在左边补零。如:1000 0000->0010 0000(逻辑右移两位)
SAR是算术右移,比较特殊。他的最高位一直是不变的。如1000 0000算术右移7位后就成了1111 1111.
嵇洮蹉凡雁
2019-08-17 · TA获得超过3836个赞
知道大有可为答主
回答量:3106
采纳率:28%
帮助的人:233万
展开全部
楼上说的百对,shl和sal,左移的操作,效果都是一样的(shl和sal的机器码都是相同的)
sar和shr的主要区别在于,向右移动时,sar会根据最高度为是否为1来扩展符号位,shr只把移出来的位补0
比如
-1
的16位二进制是1111
1111
mov
ax,
-1
sar
ax,
1
;
ax还是1111
1111
shr
ax,
1;
这下ax就变成0111
1111了专
这就是“算数”和“逻辑”移位的区别,算数移位保留操作数的符号,逻辑移位只把操作数当作一块单纯的存储属空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙金季语丝
2019-10-17 · TA获得超过3880个赞
知道大有可为答主
回答量:3218
采纳率:31%
帮助的人:426万
展开全部
楼上说的对,shl和sal,左移的操作,效果都是一样的(shl和sal的机器码都是相同的)
sar和shr的主要区别在于,向右移动时,sar会根据最高为是否为1来扩展符号位,shr只把移出来的位补0
比如
-1
的16位二进制是1111
1111
mov
ax,
-1
sar
ax,
1
;
ax还是1111
1111
shr
ax,
1;
这下ax就变成0111
1111了
这就是“算数”和“逻辑”移位的区别,算数移位保留操作数的符号,逻辑移位只把操作数当作一块单纯的存储空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
睢辰丁逸秀
2020-01-23 · TA获得超过3948个赞
知道大有可为答主
回答量:3215
采纳率:27%
帮助的人:181万
展开全部
SHL和SAL事实际没有区别,移动结果都是一样的,SHL是逻辑左移,SAL,算法左移,它们都是向左移动几位,最右就补几个0
比如
SHL
ax,CL
;ax=1111
1111B
CL=4
,移动后AX=1111
0000
SAL
AX,CL
;AX=0101
1100
CL=5移动后
AX=1000
0000
SHR是逻辑右往,向右移动几位,最左边(即最高位补0)比如
SHR
AX,
CL
;AX=1101
1010
CX=3
移动后AX=0001
1011
SAR是算法右移,向右移动几位,最左边第一位保持,其他补0
SAR
AX,
CL
AX=11
00
1111,CX=5移动后AX=
1000
0110
SAR
AX,CL
AX=0011
1111
CX=3
移动后
AX=
0
00
00111
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空白空白君
2010-01-23 · TA获得超过418个赞
知道小有建树答主
回答量:480
采纳率:0%
帮助的人:0
展开全部
就SAR最高位保持不变,其他都补0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式