c++实现数值的整数次方(类似pow())作用
/* * 计算数值的整数次方.cpp * * Created on: 2018年4月13日 * Author: soyo */ #include<iostream> #include<math.h> #include<ctime> using namespace std; int main() { double power(double base,int exp); int x=2,y=3; long int z; z=pow(2,3); cout<<"值为:"<<z<<endl; z=z>>2;//右移两位 cout<<"值为:"<<z<<endl; double a; clock_t start,stop,consume_time; start=clock(); a=power(12,100); stop=clock(); consume_time=stop-start; cout<<"新值为:"<<a<<endl; cout<<"运行时间为:"<<consume_time<<endl; } double power(double base,int exp) { if(exp==0) return 1; if(exp==1) return base; double result; result=power(base,exp>>1); result*=result; if(exp&0x1==1) result*=base; // if(exp%2==1) //都可以(但第一种效率更高) // result*=base; return result; }
结果:
值为:8 值为:2 新值为:8.2818e+107 运行时间为:1