Andes Workshop http://forum.andestech.com/ |
|
解決浮點數運算code size較大的問題 http://forum.andestech.com/viewtopic.php?f=25&t=641 |
Page 1 of 1 |
Author: | cindy [ Fri Nov 23, 2012 5:12 pm ] |
Post subject: | 解決浮點數運算code size較大的問題 |
如果程式裡用到浮點數(float)運算, 在沒有FPU的cpu中, toolchain會將浮點數運算的compiler加進來, 造成code size較大。 解決辦法: 將浮點運算改用整數計算, 例如乘0.2就改為除以5。 舉例來說, area=a*b*3.14 則我們可以用分數的算法 area=(a*b*314)/100 為了避免overflow,我們可以先化簡,乘起來的數字比較小, 比方說,上述式子改成area=(a*b*157)/50。 或者定義area變數為long long,就可以有足夠大的空間。 |
Page 1 of 1 | All times are UTC + 8 hours [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |