算术移位与逻辑移位有什么区别? 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
来源:互联网 发布:java项目中对并发 编辑:程序博客网 时间:2024/05/29 14:33
导读:
逻辑移位(不管是左移位还是右移位) 都是空缺处补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
经测试,VC编译器里面是算术移位。
本文转自
http://topic.csdn.net/t/20051123/00/4411562.html
逻辑移位(不管是左移位还是右移位) 都是空缺处补0
例如: mov ax , 1100_0111_0110_1000B
mov cl , 3
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
经测试,VC编译器里面是算术移位。
本文转自
http://topic.csdn.net/t/20051123/00/4411562.html
- 算术移位与逻辑移位有什么区别? 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
- 算术移位与逻辑移位有什么区别?
- 算术移位与逻辑移位有什么区别?
- 算术移位与逻辑移位有什么区别?
- 汇编和调用C函数 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
- 算术移位与逻辑移位有什么不同
- 算术移位与逻辑移位有什么不同
- 若用MASM写操作系统的启动部分如何实现? 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
- 逻辑移位与算术移位的区别
- 逻辑移位与算术移位的区别
- 逻辑移位与算术移位的区别
- 逻辑移位与算术移位
- 算术移位与逻辑移位
- 算术与逻辑移位
- 什么叫逻辑移位和算术移位
- 逻辑移位 算术移位
- 算术移位和逻辑移位
- 逻辑移位和算术移位
- 一份非常棒的inline hook 代码
- vsftpd研究手记
- 真·AjaxControlToolkit控件安装指南
- 精通COBOL--11.7.1 嵌套子程序的结构
- ASP.NET 2.0 里输出文本格式流
- 算术移位与逻辑移位有什么区别? 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
- 我一生的恋人?
- 另外对数组补充的实例
- 精通COBOL--11.7.2 嵌套子程序的调用权限
- ASP.NET 跨页面传值总结
- 国内首款安全浏览器即将面世
- 正则表达式语法参考
- 精通COBOL--11.8 小结
- Eclipse自动生成注释