如何创建比浮点ANSI C多十进制数字的变量

时间:2018-06-23 01:02:38

标签: c variables precision ansi-c

我已经在网上搜索了一段时间...但是我找不到一种方法来要求程序打印一个超过6个十进制数字的数字。我需要更多的十进制数字以提高精度,因为我要测量的差异远小于0.0000004(需要执行小函数的时间差异)。有没有一种方法可以提高精度?

PS:我是编程初学者。

编辑:我应该在之前发布它:

我正在使用一种简单的clock()安排来获取时间。在这种情况下:

  double t;
  start = clock();
  f();
  t = (double)(clock() - start)/CLOCKS_PER_SEC;
  printf("t = %lf", t);

但是它总是返回我0.000000,因为我可以给t的最小值是0.000001,并且函数“ f”花费的时间少于运行该函数的时间。

2 个答案:

答案 0 :(得分:0)

如果您正在寻找精度更高的数据类型,则可以使用double并注明要打印的位数。

有关数据类型的更多详细信息-https://www.geeksforgeeks.org/data-types-in-c/

答案 1 :(得分:0)

以下是在浮点后打印10位数字的方法:

   printf("t = %.10lf", t);

这是在浮点数后打印15位数字的方法:

   printf("t = %.15lf", t);