大整數乘法問題

2022-04-30 13:39:12 字數 721 閱讀 4143

/*

大整數乘法問題:應用陣列解決,由於計算機的精度是有限的,因此單純使用程式語言提供的原子資料型別來

完成兩個大整數的乘法顯然是不切實際的。可以考慮用兩個陣列來分別儲存一些大於10的整數,這些數字按順序

排列在一起,分別表示乙個大整數的每一位上的數字,於是大整數的儲存問題就解決了。然後按照基本乘法規則

對這兩個大整數進行運算即可。

*/

#include//

#include

using

namespace

std;

int* multi(int* num1,int size1,int* num2,int

size2)

} for (i=0;ii)

}return

ret;

}

intmain()

; //

第乙個14位的大整數11111987654321

int num2=; //

第二個14位的大整數55444333222111

int *ret=multi(num1,14,num2,14);

for(int i =27;i>=0;i--) //

兩個14位的大整數相乘後結果位小於等於28位

delete

ret;

return0;

}

大整數乘法

參考 http hi.baidu.com operationsystem blog item 6e45dd1af1acadf3ae51330b.html 在計算機中,長整型 long int 變數的範圍是 2147483648 至 2147483647,因此若用長整型變數做乘法運算,乘積最多不能超過...

大整數乘法

問題描述 by 計算機演算法設計與分析 王曉東 p17 通常,在分析乙個演算法的計算複雜性時,都將加法和乘法運算當作是基本運算來處理,即將執行一次加法或乘法運算所需的計算時間當作乙個僅取決於計算機硬體處理速度的常數。這個假定僅在計算機硬體能對參加運算的整數直接表示和處理時才是合理的。然而,在某些情況...

大整數乘法。

include using namespace std int multi int num1,int size1,int num2,int size2 int size size1 size2 int ret new int size int i 0 for i 0 iret i 0 for i 0...