
1个回答
展开全部
#include "stdafx.h"
#include<stdlib.h>
char s[25]={0};
void main(){
s[0]=2;
int i,j;
int n=1;//结果的位数
int c;//进位位
int ss;//当前一位结果
for(i=2;i<=79;i++){
c=0;
for(j=0;j<n;j++){
ss=2*s[j]+c;//计算一位乘以2的乘积
if(ss>=10){c=1;s[j]=ss-10;}//有进位
else{c=0;s[j]=ss;}//无进位
}
if(c==1){s[n]=1;n=n+1;}//最后有进位,结果增加一位
}
for(i=n-1;i>=0;i--)//输出结果
printf("%1d",s[i]);
}
计算这样的大数字,也就是超过一般字长表示最大值的数字
可以用数组记录每一位十进制数字
然后一位一位地计算,注意进位就可以了
其实就好像我们用竖式笔算乘法一样
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |