一种与传统不一样的乘法运算算法一种与传统不一样的乘法运算算法叫做
乘法運算對于我們來說,它并不陌生,我相信許多的人在平時的生活中都常常用到它。在小學的學習中,我們對于乘法的計算,常常使用豎式計算的方法去計算乘法。例如326×36采用豎式計算方法,計算形式如下:
上述的計算方法,是我們小學教育中所學習掌握的知識,我相信大家都它非常熟悉。接下來,我將為大家展示一種你們可能從未接觸過的計算方法。
以326×36為例,首先需要將要乘的數做一個“翻轉”,即把326變成623,36變成63;然后我們對位數比較少的數進行補0處理,即63變成630;最后通過以下的步驟進行計算,得到326×36結果的個位、十位百位等等。
第一步,計算326X36結果的個位,方法如下:
6X6=36,用36除以10得到整數部分為3,余數部分為6,這時候余數6就是326X36結果的個位,而整數部分3就是向十位的進位,即進位數C=3。
第二步,計算326X36結果的十位,方法如下:
6X3+2X3+C=33(注:C是上一步的進位值),用33除以10得到整數部分為3,余數部分為3,這時候余數3就是326X36結果的十位,而整數部分3就是向百位的進位,即進位數C=3。
第三步,計算326X36結果的百位,方法如下:
6X0+2X3+3X6+C=24+3=27,用27除以10得到整數部分為2,余數部分為7,這時余數7就是326X36結果的百位,而整數部分2就是向千位的進位,即進位數C=2。
第四步,計算326X36結果的千位,方法如下:
2X0+3X3+C=9+2=11,用11除以10得到整數部分為1,余數部分為1,這時余數1就是326X36結果的千位,而整數部分1就是向萬位的進位,即進位數C=1。
第五步,計算326X36結果的萬位,方法如下:
3X0+C=0+1=1,用1除以10得到整數部分為0,余數部分為1,這時余數1就是326X36結果的萬位,進位C=0。
計算到這里,我們就可以得到326X36的結果為11736。顯然這個結果是正確的。
現在可能大家會有一個疑問。為什么要計算5步就可以得到326X36的結果?這是因為3位數與2位數的乘積得到的結果是4位數或者是5位數,所以計算5步就可以把它的結果的每一位數計算出來。注:最小的3位數是100,最小的2位數是10,則任意3位數與2位數的乘積都大于等于100X10=1000(1000是最小的4位數);最大的3位數是999,最大的2位數是99,則任意3位數與2位數的乘積都小于1000X100=100000(這是一個最小的7位數)。所以任意的3位數與2位數相乘結果只能是4位數或5位數。總結,任意的n位正整數與m位正整數相乘,它的最終結果只能是n+m位(或n+m-1位)的正整數。所以n位的正整數與m位的正整數相乘,我們進行n+m步計算就可以得到它的結果。
對于含小數點的數字,我們可以這樣計算。例如,123.45X45.7,把123.45變成12345/100,45.7變成457/10,所以123.45X45.7=(12345X457)/1000,這時括號里的12345X457就可以采用上述的方法計算了。
總結,這種計算乘法的方法,對于人工的手動計算來說,是比較麻煩的,但是我們通過利用計算機編程的方法,可以比較輕易的實現超大數字的乘法計算,例如幾十位或上百位的數的乘法運算。如果你對這程序算法感興趣,可以觀看我的另一篇文章(C語言算法——超大正整數乘法計算)。
總結
以上是生活随笔為你收集整理的一种与传统不一样的乘法运算算法一种与传统不一样的乘法运算算法叫做的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2018.3.24】模拟赛之一-ssl
- 下一篇: QQ空间当年6亿多用户,如今却无人问津: