none
科学计算中的精度问题 RRS feed

  • 问题

  • 最近在做科学计算方面的东西,主要是将32位的源程序升级到64位,使用的编译器为vs2010其中pow函数引用自math.h,过程中发现有计算结果不一致的情况,其中一个就是由pow函数引起的,示例代码如下:t4在32位下面和在64位下面的计算结果不一致,我想有可能是由于double精度范围引起的,但是从汇编代码看32位版本与64位版本的汇编调用的pow函数貌似不一致,我想问一下能否通过设置vs2010中的某些选项来保证结果一致?
    double t2 = 7.5011360851641269e-005;
    double t3 = 1.6666666999999999;
    double t4 = pow(t2,t3);

    2015年1月12日 6:29