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/