. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->《IBM-PC汇编语言程序设计》支持区
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  逻辑左移的问题  [待解决] 回复[ 2次 ]   点击[ 785次 ]  
abcabc
[帖 主]   [ 发表时间:2007-12-05 13:07 ]   [引用]   [回复]   [ top ] 
荣誉值:24
信誉值:3
注册日期:2007-06-06 11:53
逻辑左移为什么说它类似于乘了个2,麻烦知道的解答下,谢谢!
fishboy
[第1楼]   [ 回复时间:2007-12-05 14:54 ]   [引用]   [回复]   [ top ] 
荣誉值:283
信誉值:0
注册日期:2007-06-26 11:42
左移操作,是将一个二进制数据的各位向左移动,左移后的最后的位置上添0.
比如,数据01101这个数据左移一位为11010,我们可以从计算二进制数据的公式上来分析。
01101 = 0*2^4+1*2^3+1*2^2+0*2^1+1*2 = 13
11010 =       1*2^4+1*2^3+0*2^2+1*2^1+0*2 = 26
我们可以看出,非0位置上的数据1在左移一位后,他的乘数都多乘以了一个2,所以,整个数据就变成了左移前的二倍了。
zhuzhu
[第2楼]   [ 回复时间:2007-12-19 16:14 ]   [引用]   [回复]   [ top ] 
荣誉值:50
信誉值:0
注册日期:2007-07-08 09:33
自己举出几个小例子楼主就明白了

al=0001
左移一位
0001->0010 EQU 1->2
0010->0100 EQU 2->4
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved