X的Y次方解法

想知到Z=X^Y的算法,当X和Y取任意正数时可以求出Z,科学计算器里面有这个功能,但我想知道科学计算器是如何算的?

第1个回答  2006-08-13
计算器的操作是一个篇程(使用计算机语言,VB语法,篇程,我以前上电脑科学过,要使用什么软件才能做的,不过忘了很多)大概说下吧,因为是比较复杂的.如Y的确定,限制到0~10吧.PRINT Z=X^Y,Y=0,i=Y+1,若Y小于10→Y=i+1,再到上面的那步若Y小于10→Y=i+1......到Y=i+1(这时候的i已经到9了,那么9+1=10,输出Z=X*i..这就得到了X的10次幂了
上面的只是说出来的,具体操作还要使用计算机语言,还有严格的格式,好麻烦哦^_^
第2个回答  2006-08-17
本人高1,偶学了一点点编程,偶用PASCAL来解释这个问题。
program
var
x,y,z:real;
i:integer;
begin
read(x,y);
for i=1 to y do
begin
z:=x*x;
end;
writeln(z);
end.
就是这么一回事了,这是一个简单的程序代码,计算器就是一个简单的程序。。
楼下两位怎么回事,各抒己见而已。用的了这样吗??做人要有素质。本回答被提问者采纳
第3个回答  2006-08-14
看了下资料。计算机中的一些功能不是硬算出来的,都是有些运算的方法的,像HP48计算器花了惠普40个工程师5年时间来完善运算方法。你可以在电脑中算一下9999的9999次方,它的运算速度不到0.5秒(也要看计算机的好坏的)。求Z=X^Y的计算方法好像是用对数然后取反的方法,所以有些结果是近似值
第4个回答  2006-08-13
呵呵,我想这个应该从计算机的方面来解说

算法我倒可以说说:
比如:2的100次方,实际上这个很难算出来

先算:2的2次方,为4
再算4的2次方,为16
。。。。
类推

这个计算次数就会减少

用的是这样:假设Y = y1 * y2 *...* yn

x^Y = (...((x^y1)^y2)..)^yn
第5个回答  2006-08-16
应该是用对数..z=x^y变成对数就是z=e^(lnx*y);这样就便成了两个简单的函数,编程语言上通常都有(好比c++和pascal)现成的函数,即:z=exp(log(x)*y)...
至于这两个函数嘛可以用...查表来算(嘿嘿)
另外,鄙视fangzhenpeng的什么pascal编程,根本就是以偏概全..