二十個(gè)一乘以二十個(gè)二等于多少?C語言經(jīng)典算法設(shè)計(jì)之大數(shù)乘法
2019-03-30 21:01 作者:C語言基礎(chǔ) | 我要投稿

前言

本文介紹一種大數(shù)的乘法,也就是說,無論得到或者傳入的數(shù)有多大,它總能計(jì)算出正確的結(jié)果。
大數(shù)乘法
由于乘法可以互換所以對(duì)于輸入的數(shù)字沒有限制條件,計(jì)算方法還是模仿手工算法,由被乘數(shù)的低位開始和乘數(shù)的每一位相乘并且要將大于9的十位數(shù)向前進(jìn)一位,存在3個(gè)問題需要我們解決。
主要問題
我們要用多大的數(shù)組存儲(chǔ)結(jié)果?要使用嵌套循環(huán)嗎?如何在計(jì)算的過程中保證進(jìn)位?解決方案
二個(gè)數(shù)相乘最大的位數(shù)是兩個(gè)乘數(shù)的位數(shù)之和。很明顯由于乘法的特性使用嵌套循環(huán)很合適。在大數(shù)加減中執(zhí)行完畢后再對(duì)存儲(chǔ)結(jié)果的數(shù)組進(jìn)行一次進(jìn)位,但在乘法中我們需要每執(zhí)行一趟就要對(duì)數(shù)組進(jìn)行進(jìn)位的處理
實(shí)現(xiàn)源碼

標(biāo)簽: