能力值:
( LV9,RANK:210 )
|
-
-
2 楼
你把他变成2进制
然再移就可以
比如
0000000E=二进制00001110
shr是向右(right)移的意思,二进制00001110右移2位即000011
mov edx,E
shr edx 2
so edx=00000003
|
能力值:
( LV9,RANK:210 )
|
-
-
3 楼
说得更直观点
向右移几位就是从右边起去掉几位,
向左移几位就是从右边起填充几位0,
mov edx,0E ///edx=00001110
shr edx,2 ///edx=000011 从右方向去掉2位,即去掉10
所以右移后edx=03h
mov edx,3 ///edx=00000011
shl edx,2 ///edx=00001100 从右边方向加上两个0
所以左移后 edx=0Ch
|
能力值:
( LV6,RANK:90 )
|
-
-
4 楼
谢谢fonge兄,终于懂了
|
能力值:
( LV6,RANK:90 )
|
-
-
5 楼
再问个问题,逻辑位移在算法中具体是干什么的?
比如说:edx中存放的是注册码的位数
现在要求edx逻辑右移2,即shr edx 2,同样假设edx=0E,
计算的结果是edx=00000003,
那么这样做的目的是什么,有什么用?得到的值“3”代表什么?
能解释下吗?
|
能力值:
( LV9,RANK:210 )
|
-
-
6 楼
仅仅是一种运算而已,没有别的意思,
跟加减乘除一样!
那个'3'就要的结果罗!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
哦 懂了 谢谢fonge兄
|
|
|