高效大数乘法 c语言,C语言 简单大数乘法
C++語(yǔ)言編寫代碼實(shí)現(xiàn)32位無(wú)符號(hào)整數(shù)與32位無(wú)符號(hào)整數(shù)相乘,結(jié)果為64位無(wú)符號(hào)整數(shù)。
效果
注意乘法累加的移位和加法不同
#include
#include
#include
#include
using namespace std;
int a[32] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int b[32] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
int ret[64];
int main(){
int c = 0;
int len = 0;
for (int i = 0; i < 32; i++){
len = i;
for (int j = 0; j < 32; j++){
c = a[i] * b[j] + c + ret[len];
ret[len++] = (c % 10);
c = c / 10;
}
while (c){
c += ret[len];
ret[len++] = (c % 10);
c /= 10;
}
}
for (int i = 0; i < 32; i++)
printf("%d", a[i]);
printf("\n");
for (int i = 0; i < 32; i++)
printf("%d", b[i]);
printf("\n");
for (int i = 0; i < 64; i++)
printf("%d", ret[i]);
printf("\n");
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的高效大数乘法 c语言,C语言 简单大数乘法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Houdini】导出FBX或OBJ模型
- 下一篇: 免费下载pdf转换器