之前有看過類似的文章,只是一直沒有測試
一樣使用在30MPIS運作下的結果
lont t,y;
測試程式:t=y*0.001;
由示波器上可見,約4.280uS
變更後的程式:t=y*66>>16;
由示波器上可見,只需要約516nS
可見可以節省非常多的運算時間。
很感謝Bee熱心的提醒。
為了以後方便得到答案,我也寫了個暴力法來解這個答案
這是利用matlab 的m file寫的
這是算完後的結果
看起來答案還滿贊的
ps:如果要動用到移位除法的話,變數需更改成整數型態,不然float是沒有辦法做移位的指令的
very good!
回覆刪除