计算2的任意次方[通用版]
Posted YuRi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算2的任意次方[通用版]相关的知识,希望对你有一定的参考价值。
位数计算: [ N*log2 ] +1
#include <iostream> #include <cmath> using namespace std; int main() { int Bits,Tp=0,n,j,power_value; double y=2; double x=log10(y); cin>>power_value; Bits=(int)(power_value*x+1);//Bits为位数; int *a=(int *)malloc(Bits*sizeof(int));//动态数组(Bits个整型元素) for(j=0;j<Bits;j++)//动态数组全部置0; a[j]=0; a[Bits-1]=1;//末尾置1,准备乘2; for(j=0;j<power_value;j++) //外层循环,power_value次方; for(n=(Bits-1);n>=0;n--)//内层循环,Bits次相乘; { a[n]=a[n]*2+Tp; Tp=a[n]/10;//得到进位值Tp; a[n]=a[n]%10; } for(n=0;n<Bits;n++) //输出结果; cout<<a[n]; return 0; }
以上是关于计算2的任意次方[通用版]的主要内容,如果未能解决你的问题,请参考以下文章