数学
逻辑位移 算术位移 的概念,请大侠赐教.在线等superhcw:谢谢,明白了大部分,能不能举个例子: 1100的逻辑和算数右移分别是什么?再麻烦解答一下:11001000两种的右移情况? 万分感谢

2019-05-28

逻辑位移 算术位移 的概念,请大侠赐教.在线等
superhcw:谢谢,明白了大部分,能不能举个例子: 1100的逻辑和算数右移分别是什么?
再麻烦解答一下:11001000两种的右移情况? 万分感谢
优质解答
逻辑右移最高位补0,最低位进入CF,相当于每移一位除以2,一般对于无符号数使用
如:133/8=16余5
MOV AL,10000101B
MOV CL,03H
SHR AL,CL
AL=10H=16
算术右移最高位(即符号位)保持不变,而不是补0最低位进入CF.相当于每移一位除2,一般对于有符号数使用
-128/8
MOV AL,10000000B
MOV CL,03H
SAR AL,CL
AL=0F0H=-16
1100为000011000正数,逻辑右移 算术右移是一样的为00000110
11001000逻辑右移为01100100
11001000算术右移为11100100
逻辑右移最高位补0,最低位进入CF,相当于每移一位除以2,一般对于无符号数使用
如:133/8=16余5
MOV AL,10000101B
MOV CL,03H
SHR AL,CL
AL=10H=16
算术右移最高位(即符号位)保持不变,而不是补0最低位进入CF.相当于每移一位除2,一般对于有符号数使用
-128/8
MOV AL,10000000B
MOV CL,03H
SAR AL,CL
AL=0F0H=-16
1100为000011000正数,逻辑右移 算术右移是一样的为00000110
11001000逻辑右移为01100100
11001000算术右移为11100100
相关问答