我試圖在C中實現長乘法(小學方法)。我需要編寫我的程序在基地2^32。我不知道如何開始。我有我想在這裏使用的算法:長乘C
for (i = 0; i < n; i++) {
carry = 0;
for (j = 0; j < n; j++) {
product = a[i] * b[j] + result[i + j] + carry;
result[i + j] = p % base;
carry = floor(product/base);
}
result[i + n] = carry;
}
任何提示的讚賞。我無法想出一個好主意。
基數2^32是什麼意思? – isedev 2014-10-07 19:24:24
基本上,而不是像你通常會在基數10中處理數字。我的數字a和b由32位字「數字」的數組表示。每個「數字」的範圍可以是0到2^32 - 1,而不是0到9,就像基數10一樣。 – Chaz 2014-10-07 19:26:26
我想說,你需要做的就是看你的每個變量有多大,以及什麼用於使用什麼數據類型的手段。 – Degustaf 2014-10-07 19:49:19