鱼C论坛

 找回密码
 立即注册
查看: 4244|回复: 8

[争议讨论] 关于3的N次方的解释

[复制链接]
发表于 2011-8-5 21:07:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 weixianlang 于 2011-8-5 21:08 编辑

很多在监测点2点几就开始问3的4次方了,我很纳闷,以前我在学的时候好像没碰到过,所以我也直接给了大家回答,但是我发现多数人已经习惯了一直N次方的习惯性代码,就是
add ax,ax
add ax,ax
......
以此类推

书上的例子是有特殊性的,因为底数是2,2的N次方就是底数每次乘以2以后的结果作为下一次的底数,下一次的底数再乘以2,又一次类推,
但是,我就不说别的数了,就说1,1的N次方得多少?
add ax,ax
add ax,ax??????
...........
感觉不对了吧?这就是王爽据这个例子的奥秘,如果刚学几个加法,就能求N次幂,那么也太夸张了(至少我现在还没见到谁只有传送和加法指令搞定的,当然,是可以的,小点的数字,来个大点的,你怎么办?)所以王爽为了给大家一个合理的例子,就选择了这个特殊的数字,2,也方便大家实践,所以请大家不要被这个2误导了,后面的知识好多着,也没必要为了这个题目苦恼,打好基础,后面的难题就会迎刃而解!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-5 21:54:18 | 显示全部楼层
{:1_1:}被你一说我才想到1这个.但是想了下我只能想到用
cmp ax,1
再看标志寄存器如果是ZF=1
就跳到专门的执行.

思路完毕.请求漏洞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-5 22:04:25 | 显示全部楼层
2是个特殊数字,做底数容易误导初学者,认为所有底数的n次幂都是只要add就ok
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-5 22:10:55 | 显示全部楼层
是啊是啊……挺误导人的……{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-6 10:28:38 | 显示全部楼层
举一反三,有启发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-7 19:01:03 | 显示全部楼层
assume cs:code
data segment
dw 128 dup (0);$
data ends
code segment
start:  
mov ax,data;此程序求AX的DX次方,结果放在数据段的前128个字节中,以16进制的形式存放,
mov ds,ax;如果你的计算结果大于128个字节数,可以自行更改$处
mov bx,0
mov di,16*8;$
mov si,1
mov ax,3;参数   x^y这里的AX等于X
cmp ax,0
je ookk
mov bp,ax
mov dx,4;参数    X^Y这里的DX=Y
mov cx,dx
sub cx,1
jb ookk
jcxz okk;上有政策
mov [bx],ax
s1:push cx

mov cx,bp
s:push cx
mov cx,si
add cx,0
s2:
mov ax,[bx]
adc [bx+di],ax
pushf
cmp cx,1
jz j
jmp nj
j:popf
jb j1
pushf
jmp nj
j1:inc si
add bx,2
add word ptr [bx+di],1
jmp ok
nj:add bx,2
popf
ok:loop s2
mov bx,0
pop cx
loop s
push si
s5:
mov ax,[bx+di]
mov [bx],ax
mov word ptr [bx+di],0
add bx,2
dec si
cmp si,0
ja s5
mov bx,0
pop si
pop cx
loop s1
jmp short ookk
okk:mov [bx],ax;下有对策
ookk:mov ax,4c00h
int 21h

code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-7 22:59:38 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-7 23:37:50 | 显示全部楼层
哥们哪是注释吧,不知到什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-8 00:41:43 | 显示全部楼层
冰寒幽灵 发表于 2011-8-7 19:01
assume cs:code
data segment
dw 128 dup (0);$

此乃 成吉思汗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-9 10:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表