c - 如何处理高位数字的计算?

标签 c floating-point numerical digits

当我想使用大数字和小数字时,我必须如何对 C 中的值进行求和/比较?

#include <stdio.h>
#include <math.h>

int main(void) {
    if (1.0 + (1/pow (10,50)) == 1.0)
        printf("true");
    else
        printf("false");
    return 0;
}

如何让它返回 false?

最佳答案

对于标准 C 类型,您无法使其返回 false。您需要使用高精度浮点库。

关于c - 如何处理高位数字的计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10809972/

相关文章:

c - GCC 使用 -O0 和 -O2 给出不同的数值结果

c - 如何对齐内存地址?

c - 如何中断使用 fgets()、使用 scanf ("%s"读取的字符串,..)

c - 为什么参数类型声明在括号外?

c - 构建最新的 Vala 版本(make check 失败并且 valac 找不到共享库)

algorithm - 如何找到为每个 double 值产生较小输出的乘数?

c++ - 浮点相等和公差

floating-point - 如何格式化具有特定精度和前置零的 f32?

c++ - 最准确的线相交坐标计算与 float ?

PHPExcel 数字格式显示不正确