[問題] 使用int當作fixed point小數運算

看板C_and_CPP (C/C++)作者 ( )時間14年前 (2011/12/29 13:53), 編輯推噓3(308)
留言11則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) linux 問題(Question): 各位好, 我想要問的是大量乘除運算的效率問題 想把float乘除運算 改成int 運算應該會再快很多吧? 例如說 一個int代表 22整數 小數10位數 當然會犧牲精確度 但想一想是可以接受 可能會用 16,16 有這樣的範例code嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.23.86.187

12/29 13:53, , 1F
也會用到sqrt..... Orz
12/29 13:53, 1F

12/29 14:01, , 2F
關鍵字: 定點數 (英文: fixed point number)
12/29 14:01, 2F

12/29 14:03, , 3F
不過定點數開根號好像有點麻煩...
12/29 14:03, 3F

12/29 14:05, , 4F
大概要用一些近似步驟來逼近吧
12/29 14:05, 4F

12/29 18:11, , 5F
運算不是都有硬體的嗎?compiler加速應該也不錯吧
12/29 18:11, 5F

12/29 23:28, , 6F
octave-fixed 應該有一堆 example code 可以看
12/29 23:28, 6F

12/30 01:57, , 7F
如果要寫認真的程式,建議用別人寫好的函式庫比較省事...
12/30 01:57, 7F

12/30 09:16, , 8F
感謝 , 我改完似乎沒比較快orz
12/30 09:16, 8F

12/30 10:06, , 9F
沒比較快是正常的,SSE乘法浮點運算是很快的
12/30 10:06, 9F

12/30 10:07, , 10F
你應該朝平行化的方向 進步空間會比較大
12/30 10:07, 10F

12/30 13:29, , 11F
libfixmath的測試:http://goo.gl/4yL5r
12/30 13:29, 11F
文章代碼(AID): #1E_01ALJ (C_and_CPP)
文章代碼(AID): #1E_01ALJ (C_and_CPP)