编程输出2的90次方的精确值
2的32次方是10位数,所以2的90次方可以表示成一个3位的1000000000进制数,并用一个长度为3的无符号整型数组来存储各位的数值。
int _tmain(int argc, _TCHAR* argv[])
{
int a[3] = {0};
int j;
for(int i = 0;i < 90;++i)
{
for(j = 2;j >= 0;--j)
{
a[j]*=2;
}
for(j = 2;j >= 0;--j)
{
if(a[j]>1000000000)
{
a[j-1] += 1;
a[j] -= 1000000000;
}
}
}
printf("%d",a[0]);
for(j = 1;j >= 0;--j)
{
int value = 100000000;
while(a[j] < value)
{
printf("%d",0);
value /= 10;
}
printf("%d",a[j]);
}
}

浙公网安备 33010602011771号