2012-10-30 41 views

回答

8

+的實現實際上比您預期的要複雜得多,因爲算術在Racket中是通用的:它適用於整數,有理數,複數等等。你甚至可以混合和匹配這些類型的數字,它會做正確的事情。最後,它最終將在C,這是什麼樣的運行系統是寫在使用算術

如果你好奇,你可以找到更多的數字塔在這裏的膽:https://github.com/plt/racket/blob/master/src/racket/src/numarith.c

其他指針:Bignum arithmetic,方案numeric tower,球拍參考numbers

+0

+1用於參考代碼 – Eineki

6

+運算符是原語操作,是核心語言的一部分。出於效率的原因,將它作爲遞歸過程來實現是沒有多大意義的。