2008年11月23日 星期日

關於浮點運算和移位除法

之前有看過類似的文章,只是一直沒有測試


   江湖一點訣


一樣使用在30MPIS運作下的結果


lont t,y;


測試程式:t=y*0.001;


由示波器上可見,約4.280uS




變更後的程式:t=y*66>>16;


由示波器上可見,只需要約516nS


可見可以節省非常多的運算時間。




很感謝Bee熱心的提醒。


為了以後方便得到答案,我也寫了個暴力法來解這個答案


這是利用matlab 的m file寫的



這是算完後的結果



看起來答案還滿贊的


ps:如果要動用到移位除法的話,變數需更改成整數型態,不然float是沒有辦法做移位的指令的


1 則留言: