我一直在想这个问题.正如标题所说,哪个更快,实际功能还是简单地提升到半功率?
UPDATE
这不是过早优化的问题.这只是底层代码实际工作原理的问题.Python代码的工作原理是什么?
我发送了Guido van Rossum电子邮件,因为我真的很想知道这些方法的不同之处.
在Python中至少有3种方法可以做平方根:math.sqrt,'**'运算符和pow(x,.5).我只是好奇每个实现的差异.谈到效率哪个更好?
pow和**是等价的; math.sqrt不适用于复数,也不适用于C sqrt()函数的链接.至于哪一个更快,我不知道......
我发现了不使用sqrt函数找出平方根的算法,然后尝试进入编程.我最终使用C++中的这个工作代码
#include <iostream>
using namespace std;
double SqrtNumber(double num)
{
double lower_bound=0;
double upper_bound=num;
double temp=0; /* ek edited this line */
int nCount = 50;
while(nCount != 0)
{
temp=(lower_bound+upper_bound)/2;
if(temp*temp==num)
{
return temp;
}
else if(temp*temp > num)
{
upper_bound = temp;
}
else
{
lower_bound = temp;
}
nCount--;
}
return temp;
}
int main()
{
double num;
cout<<"Enter the number\n";
cin>>num;
if(num < 0)
{
cout<<"Error: Negative number!";
return 0;
}
cout<<"Square roots are: +"<<sqrtnum(num) and …Run Code Online (Sandbox Code Playgroud) 目前,我必须在电源操作员被窃听的环境中工作.任何人都可以想到一种方法暂时解决这个bug并计算一个没有幂函数或运算符的^ b(两个浮点)?