编程输出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]); } }

  

posted @ 2013-10-12 22:14  姚来飞  阅读(794)  评论(0)    收藏  举报