401 - 乘法器的運算過程

不多BB,先看人工算法:列豎式計算十進制數(shù)2345 x 9876的結(jié)果

圖1.png

注意第一次運算5 x 6時,多了一個步驟是查九九乘法表中5 x 6 = 30,記入中間結(jié)果。

圖2.png

依次運算出各乘數(shù)的中間結(jié)果,最后得到的總過程為:


圖3.png

根據(jù)豎式計算的原理,現(xiàn)在來計算二進制數(shù)1000 x 1001(也可以看成十進制的):

圖4.png

得到一個規(guī)律:

  • 如果當前參與運算的乘數(shù)位為1,則直接將被乘數(shù)放置在對應(yīng)位置上;
  • 如果當前參與運算的乘數(shù)位為0,則直接將“0”放置在對應(yīng)位置上。

這個規(guī)律只對0和1的乘法運算起作用,由此也可以看出為什么計算機會選擇二進制。

圖5.png

有過編程基礎(chǔ)就知道,計算機運算時是“一步一步”運算的,也就是說,一次操作只輸出一個結(jié)果。體現(xiàn)在乘法運算上,就是每次被乘數(shù)與乘數(shù)相乘,就會產(chǎn)生一個中間結(jié)果(如1000 x 1001的第一步會產(chǎn)生一個中間數(shù) 1000),各個中間結(jié)果相加得到最終結(jié)果。

為了節(jié)省計算機部件和提高運行效率,我們選擇只用3個部件,一個保存被乘數(shù),一個保存乘數(shù),還有一個保存最終結(jié)果。那么,乘法運算產(chǎn)生的中間結(jié)果,就必須直接與當前乘積累加。來看操作步驟(紅色字均為每一次乘積結(jié)果):



圖6.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容