激突 鲁姆会战下载:用C++编程:2的0次幂到2的64次幂的和.

来源:百度文库 编辑:高考问答 时间:2024/04/29 18:48:10

long s;
或 long sum。
long 类型是64位的,2的64次幂一定会使数据溢出的。
要不精确的,用Double 类型,
精确的,只能采用比较笨的办法,算式法。逐个以十进制相加。
001234321
+12345321
--------
013579642

还有一种方法,就是嵌入汇编了

int i,n;
long s;
n=1;
s=0;
for(i=1;i<=60;i++)
{n=n*2;
s=s+n;
}
cout<<s+!<<endl;

对C++不熟,我用JAVA编的
1,用到了Math类

long sum=0;
for(int i=0;i<=64;i++)
{sum+=Math.pow(2,i);}
System.out.println("2的前64次方和是"+sum);

2,不用Math类
JAVA实现会数据溢出