[問題]請問浮點數寫法和效率有差嗎?

看板Programming作者 (月)時間15年前 (2009/12/20 14:43), 編輯推噓4(408)
留言12則, 8人參與, 最新討論串1/2 (看更多)
請教大家兩個浮點數運算的寫法 (1) 若要把一個數乘上 1.5 倍 //假設有兩個 float, fValue1, fValue2; fValue2 = fValue1 * 1.5; 和 fValue2 = fValue1 * 3 / 2; 請問這兩個寫法有效率上的差別嗎? (2) 如果要把一個數字除以 3 fValue2 = fValue1 / 3; 和 fValue2 = fValue / 3.0; 這兩個寫法處理上有差嗎?還是只是為了讓別人看懂才寫成 3.0 ? 謝謝 ^^ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.177.224

12/20 23:17, , 1F
編譯器夠聰明的話, 開啟優化功能後, 沒差
12/20 23:17, 1F

12/21 00:26, , 2F
(2)完全就是為了讓人看懂。
12/21 00:26, 2F

12/21 07:19, , 3F
"In General" http://0rz.tw/wXzTq
12/21 07:19, 3F

12/21 07:19, , 4F
也許可以順便防止奇怪的編譯器的錯誤實做
12/21 07:19, 4F

12/21 23:01, , 5F
compiler應該很聰明 *1.5會翻成*3 >>1吧
12/21 23:01, 5F

12/22 12:31, , 6F
fvalue1是float,那與它結合的運算不是至少會
12/22 12:31, 6F

12/22 12:31, , 7F
用float去處理嗎
12/22 12:31, 7F

12/22 21:02, , 8F
謝謝大家^^
12/22 21:02, 8F

12/24 17:53, , 9F
對 float 作 >> 1 運算有義意嗎? @@
12/24 17:53, 9F

12/24 20:47, , 10F
效率上沒有差,因為通通都要轉換成
12/24 20:47, 10F

12/24 20:48, , 11F
float然後constant folding處理
12/24 20:48, 11F

12/24 20:48, , 12F
當然,型別指定得清楚一點會比較好
12/24 20:48, 12F
文章代碼(AID): #1BBZWFdE (Programming)
文章代碼(AID): #1BBZWFdE (Programming)