VC6中有精度很高的PI值吗?
我在做一个计算器程序,因为找不到合适的PI值,现在遇到如下问题:
Sin(PI)<>0,
Tan(PI/2)存在,
……
诸如此类的情况,请问有什么变通的办法处理这些问题吗?

解决方案 »

  1.   

    #define PI 3.1415926就可以了
      

  2.   

    最近遇到类似的问题:cos90 转换为 cos(90.0*PAI/180.0) 不等于0, PAI为宏定义的3.1415926,关注ing
      

  3.   

    任何浮点运算,一般情况下都会遇到浮点数在计算机里面表示所产生的误差。
    这是二进制浮点数的表达能力的问题,他无法表达许多数学中的常数,包括PI。
    因为这样的常数是无限不循环小数,计算机的精度是有限的,他的数学协处理器是无法表示无限精度的实数的。在浮点算法里面,两个浮点数的比较是不能直接通过 == 来判断的,而必须通过
    if( fabs(fValue1-fValue2)<tolerance)
    这种方法来判断。
    ============================================================================
    提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
    http://www.betajin.com/alphasun/index.htm          给我发信息请附带原帖地址
    http://alphasun.18en.com/                    http://shakingtoolkit.9126.com/
    DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析