https://mp.weixin.qq.com/s/fdA7AUC8PfQmWZETiW-B8w
#include<stdio.h>
#include<string.h>
#define charToint(a) (int)(a-'0')
#define intTochar(a) (char)(a+'0')
int main()
{
char a[1000] = { "184467" };
char b[1000] = { "3709551615" };
unsigned long long res[1000] = {0};
memset(res, 0, sizeof(res));//res中所有的元素置空
int k = 0;
for (int i = 0; i < strlen(a); i++)//4
{
k = i;//0 1 2 3
for (int j = 0; j < strlen(b); j++)//4
{
res[k]+=(charToint(a[i])* charToint(b[j]));//两个整数相乘
k++;//1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
}
}
for (int i = k-1; i>0; i--)
{
if (res[i] >= 10)
{
res[i - 1]= res[i] / 10 + res[i - 1];
res[i] = res[i] % 10; }
}
for (int i = 0; i < k; i++)
{
printf("%llu", res[i]);
}
putchar('\n');
return 0;
}
该博客主要展示了如何使用C语言进行大整数乘法运算。代码通过两个字符串表示的大整数,逐位相乘并累加到结果数组中,最后处理进位问题。这种方法实现了大整数的乘法计算。
3641

被折叠的 条评论
为什么被折叠?



