作者everydate (月)
看板Programming
标题[问题]请问浮点数写法和效率有差吗?
时间Sun Dec 20 22:43:24 2009
请教大家两个浮点数运算的写法
(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
1F:→ WPC001:编译器够聪明的话, 开启优化功能後, 没差 123.195.10.48 12/20 23:17
2F:→ MOONRAKER:(2)完全就是为了让人看懂。 59.120.168.228 12/21 00:26
4F:→ buganini:也许可以顺便防止奇怪的编译器的错误实做 140.123.221.65 12/21 07:19
5F:→ meltice:compiler应该很聪明 *1.5会翻成*3 >>1吧 115.83.20.184 12/21 23:01
6F:推 AJE:fvalue1是float,那与它结合的运算不是至少会 59.124.165.83 12/22 12:31
7F:→ AJE:用float去处理吗 59.124.165.83 12/22 12:31
8F:→ everydate:谢谢大家^^ 219.70.177.224 12/22 21:02
9F:推 Huangs:对 float 作 >> 1 运算有义意吗? @@ 140.112.30.84 12/24 17:53
10F:推 FlyinDeath:效率上没有差,因为通通都要转换成 114.45.62.48 12/24 20:47
11F:→ FlyinDeath:float然後constant folding处理 114.45.62.48 12/24 20:48
12F:→ FlyinDeath:当然,型别指定得清楚一点会比较好 114.45.62.48 12/24 20:48