搞清楚“为什么”
前几天写了篇关于整数和浮点互相转换的blog,那个数字的确奇妙。我当时想,原理也不应该复杂,就没去管它。
今天程序里突然发现一个 bug,就是由这个技巧引起的。有的地方对,有的地方不对。转出来成了0。
百思不得其解,只好老老实实研究这个技巧是如何工作的。然后才明白是浮点精度控制问题。我们的项目使用 d3d 的 client 在 d3d 设备初始化后,由于 d3d 修改了double 运算的精度。
要想放心的用任何一个技巧,know why 永远是前提啊。
« 楼上的装修已经有些日子了 | 返回首页 | 利用 Cache 减少传输的数据量 »
前几天写了篇关于整数和浮点互相转换的blog,那个数字的确奇妙。我当时想,原理也不应该复杂,就没去管它。
今天程序里突然发现一个 bug,就是由这个技巧引起的。有的地方对,有的地方不对。转出来成了0。
百思不得其解,只好老老实实研究这个技巧是如何工作的。然后才明白是浮点精度控制问题。我们的项目使用 d3d 的 client 在 d3d 设备初始化后,由于 d3d 修改了double 运算的精度。
要想放心的用任何一个技巧,know why 永远是前提啊。
Comments
Posted by: Cloud | (4) February 28, 2006 01:30 PM
Posted by: Atry | (3) February 28, 2006 01:07 PM
Posted by: ALL开拓者 | (2) February 28, 2006 09:55 AM
Posted by: Zenberg | (1) February 28, 2006 03:22 AM