【问题标题】:How to represent scientific notation in C如何在 C 中表示科学计数法
【发布时间】:2013-05-30 03:35:47
【问题描述】:

如何用一定数量的有效数字表示 C 中极大或极小的数字。例如,如果我想对 1.54334E-34 进行计算,我该怎么做。另外,这是否适用于 OpenCL 代码?

【问题讨论】:

    标签: c opencl scientific-computing scientific-notation


    【解决方案1】:
    float var = 1.54334E-34;
    double var2 = 1.54334E-34;
    
    printf("\n normal:%f\n sci:%e \n or \n sci:%E   \n",var,var,var);
    printf("\n normal:%f\n sci:%e \n or \n sci:%E   \n",var2,var2* 1.0E3 ,var2 * 1.0e3);
    

    【讨论】:

      【解决方案2】:

      我不知道任何 OpenCL,但 32 位 C 浮点数将保持 +/- 3.4e +/- 38 (~7 digits) 范围内的值,并且翻倍更多。如果您想要任意精度的算术/数学,您可能需要查看GMPMPFR

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        • 2013-11-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多