C语言 小数位极多如何处理,代码如下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 小数位极多如何处理,代码如下相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#define ynum 2
#define xnum 4

double Max (double *a)

double maxinum=*a;
int m,n,r;
for(m=0;m<ynum;m++)
for(n=0;n<xnum;n++)

r=(m)*xnum;
if(*(a+r+n)>maxinum)

maxinum=*(a+r+n);


return maxinum;


double Min (double *a)

double minimum=*a;
int m,n,r;
for(m=0;m<ynum;m++)
for(n=0;n<xnum;n++)

r=(m)*xnum;
if(*(a+r+n)<minimum)

minimum=*(a+r+n);


return minimum;


void main()

double a[2][4]=1-(1e-100),1,3,4,5,6,7,7+(1e-100);
double min,max;
min=Min(&a[0][0]);
max=Max(&a[0][0]);
printf("%.101lf\n%.101lf\n",min,max);

最小数应该是1-(1e-100),最大数应该是7+(1e-100),可是输出结果是1和7。
求大神指点~

参考技术A 100位小数要精确的话就只能写高精度了。。。double位数不够,只有12位 参考技术B %e或%E,科学计数法格式输出

用%m.ne这样的格式输出,用m,n控制位数

c语言是如何处理除法运算的呀?

参考技术A

先加减后乘除。

C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是 %。

不同类型的除数和被除数会导致不同类型的运算结果:

当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型是一个道理。一旦除数和被除数中有一个是小数,那么运算结果也是小数,并且是 double 类型的小数。

扩展资料

取余,也就是求余数,使用的运算符是 %。C语言中的取余运算只能针对整数,也就是说,% 的两边都必须是整数,不能出现小数,否则编译器会报错。

另外,余数可以是正数也可以是负数,由 % 左边的整数决定:

如果 % 左边是正数,那么余数也是正数;

如果 % 左边是负数,那么余数也是负数。

以上是关于C语言 小数位极多如何处理,代码如下的主要内容,如果未能解决你的问题,请参考以下文章

C语言 浮点数的阶码和尾数的长度是有限制的,超过的部分该如何处理?会有啥影响?

C语言如何处理RGB信号

连续正整数的和 C语言 不知道如何处理这个细节

c语言中怎么保留小数2位

c#字符串中拼接参数该如何处理?

编程语言如何处理大数算术