算术移位与逻辑移位有什么不同
来源:互联网 发布:php上传zip文件并解压 编辑:程序博客网 时间:2024/05/17 20:58
检举|2011-09-02 13:16菲诺飞流 | 分类:汇编语言 | 浏览5513次
提问者采纳
2011-09-02 13:25
(转自romway的博客,自己写这么多太累!)什么叫逻辑移位和算术移位 1)算术移位 当乘数或除数是2n时,算术移位用来快速地完成对整数进行乘法或除法的运算。算数左移n位相当于乘上2n,执行方法是把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃不要,右面低位空出的位置上全部补0。2)逻辑移位 逻辑左移n位的执行方法,是把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃不要,右面低位空出的位置上全部补"0"。 逻辑右移n位的执行方法是把原来数中的每一位都向右移动n个位置,右面移出的低位丢弃不要,左面高位空出的位置上全部补0。逻辑移位:不考虑正负号 算术移位:考虑正负号。 e g: 1000000000000000(右移2位) 0000000000000000(左移2位) 逻辑移位:0010000000000000 0000000000000000 算术移位:1110000000000000 1000000000000000 注:算术右移时,最前面是1时,补1,否则,补0。逻辑左移时,补0。 逻辑移位时,不用保留正负号(第一个),统一补0。逻辑移位(不管是左移位还是右移位) 都是空缺处补0 例如: mov ax , 1100_0111_0110_1000B mov cl , 3 shl ax , cl ; 结果 ax = 0011_1011_0100_0000 mov ax , 1100_0111_0110_1000B mov cl , 3 shr ax , cl ; 结果 ax = 0001_1000_1110_1101 算术移位要保证符号位的不改变(算术左移位补0, 算术右移位看符号位) 例如: mov ax , 1100_0111_0110_1000B mov cl , 3 sal ax , cl ; 结果 ax = 0011_1011_0100_0000 mov ax , 1100_0111_0110_1000B mov cl , 3 sar ax , cl ; 结果 ax = 1111_1000_1110_1101 mov ax , 0100_0111_0110_1000B mov什么叫逻辑移位和算术移位 2008-01-29 16:53:18| 分类: 计算机软考 |字号 订阅1)算术移位 当乘数或除数是2n时,算术移位用来快速地完成对整数进行乘法或除法的运算。算数左移n位相当于乘上2n,执行方法是把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃不要,右面低位空出的位置上全部补0。2)逻辑移位 逻辑左移n位的执行方法,是把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃不要,右面低位空出的位置上全部补"0"。 逻辑右移n位的执行方法是把原来数中的每一位都向右移动n个位置,右面移出的低位丢弃不要,左面高位空出的位置上全部补0。逻辑移位:不考虑正负号 算术移位:考虑正负号。 e g: 1000000000000000(右移2位) 0000000000000000(左移2位) 逻辑移位:0010000000000000 0000000000000000 算术移位:1110000000000000 1000000000000000 注:算术右移时,最前面是1时,补1,否则,补0。逻辑左移时,补0。 逻辑移位时,不用保留正负号(第一个),统一补0。逻辑移位(不管是左移位还是右移位) 都是空缺处补0 例如: mov ax , 1100_0111_0110_1000B mov cl , 3 shl ax , cl ; 结果 ax = 0011_1011_0100_0000 mov ax , 1100_0111_0110_1000B mov cl , 3 shr ax , cl ; 结果 ax = 0001_1000_1110_1101 算术移位要保证符号位的不改变(算术左移位补0, 算术右移位看符号位) 例如: mov ax , 1100_0111_0110_1000B mov cl , 3 sal ax , cl ; 结果 ax = 0011_1011_0100_0000 mov ax , 1100_0111_0110_1000B mov cl , 3 sar ax , cl ; 结果 ax = 1111_1000_1110_1101 mov ax , 0100_0111_0110_1000B mov cl , 3 sar ax , cl ; 结果 ax = 0000_1000_1110_1101
- 提问者评价
谢谢了,解决我的大问题
c与C++都是>>都是逻辑移位,是针对unsigned design
但是Java有 >>,与>>>
- 算术移位与逻辑移位有什么不同
- 算术移位与逻辑移位有什么不同
- 算术移位与逻辑移位有什么区别?
- 算术移位与逻辑移位有什么区别?
- 算术移位与逻辑移位有什么区别?
- 逻辑移位与算术移位
- 算术移位与逻辑移位
- 算术与逻辑移位
- 什么叫逻辑移位和算术移位
- 逻辑移位 算术移位
- 逻辑移位与算术移位的区别
- 逻辑移位与算术移位的区别
- 逻辑移位与算术移位的区别
- 算术移位与逻辑移位有什么区别? 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
- 算术移位和逻辑移位
- 逻辑移位和算术移位
- 算术移位和逻辑移位
- 逻辑移位和算术移位
- c#:ajaxForm提交input File 文件 与 IE的冲突解决方法
- tabhost使用viewflipper实现手势滑动分页
- Qt: 隐藏菜单QMenu
- 变量数值交换的三种方法
- HDU 2222 Keywords Search
- 算术移位与逻辑移位有什么不同
- MatLab求解线性方程
- Android的AlertDialog详解
- Windows下安装Object C开发环境,及Hello Word(转)
- 一种简陋的CC1100/CC1101主从通信协议
- s:action标签的使用方法
- CSS设置表格细边框
- 网页修改注册表--在IE中添加右键菜单项及任务栏按钮
- SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里