看板 Programming 關於我們 聯絡資訊
請教大家兩個浮點數運算的寫法 (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
WPC001:編譯器夠聰明的話, 開啟優化功能後, 沒差 123.195.10.48 12/20 23:17
MOONRAKER:(2)完全就是為了讓人看懂。 59.120.168.228 12/21 00:26
buganini:"In General" http://0rz.tw/wXzTq 140.123.221.65 12/21 07:19
buganini:也許可以順便防止奇怪的編譯器的錯誤實做 140.123.221.65 12/21 07:19
meltice:compiler應該很聰明 *1.5會翻成*3 >>1吧 115.83.20.184 12/21 23:01
AJE:fvalue1是float,那與它結合的運算不是至少會 59.124.165.83 12/22 12:31
AJE:用float去處理嗎 59.124.165.83 12/22 12:31
everydate:謝謝大家^^ 219.70.177.224 12/22 21:02
Huangs:對 float 作 >> 1 運算有義意嗎? @@ 140.112.30.84 12/24 17:53
FlyinDeath:效率上沒有差,因為通通都要轉換成 114.45.62.48 12/24 20:47
FlyinDeath:float然後constant folding處理 114.45.62.48 12/24 20:48
FlyinDeath:當然,型別指定得清楚一點會比較好 114.45.62.48 12/24 20:48