2015-12-28 135 views
3

你好,我目前使用Little Man Computer作爲一個學校項目,我知道LMC有一個ADD和一個SUB功能。但是我知道LMC中沒有乘法或除法功能,我想知道這是爲什麼。小人電腦

+0

這是因爲乘法和除法都可以通過ADD和SUB方法完成。例如乘法也是加法。 8 * 2 = 8 + 8。另外[This link](http://mathforum.org/library/drmath/view/54338.html)將幫助您理解計算機如何執行此類操作 – NSNoob

+1

@NSNoob您必須注意,真實計算機有特殊的硬件電路來執行乘法和除法,因爲如果你通過編碼我們在小學學到的長手術(而不是使用ADD循環)來明確地執行這些操作,那麼你就要等到母牛回家後才能得到任何結果。我不會進入指數運算(這當然是在基地處的ADD循環上的循環)。 Idle認爲:在機械[差異引擎](http://www.computerhistory.org/babbage/howitworks/)上討論MULT和ADD是有益的... –

+0

另請參閱[binary multiplier](https: //en.wikipedia.org/wiki/Binary_multiplier) –

回答

-1

我會想象你可以使用一些移位運算符來實現這一點,但我不確定如果這條路線是最佳的或唯一的方法。這裏有一個鏈接,我發現討論LMC乘法:http://www.experts-exchange.com/questions/24104347/Little-Man-Computer-How-to-multiply.html

該鏈接討論了使用Add和Sub方法,它們可以用來實現乘法和除法。

至於部門,應該指出的是,電腦實際上並不能分工;他們使用乘法的倒數來做同樣的事情。

+0

當然,除法是乘法的倒數......這就是它的定義。但[ALU](https://en.wikipedia.org/wiki/Arithmetic_logic_unit)如何實現它?我們在學校也一樣。見[這裏](http://www.cs.utah.edu/~rajeev/cs3810/slides/3810-08.pdf) –