关于两个double类型相除的精确度问题。
#define I 6.24e15
#define m 1e-27
double b=0.0000048022;
double sp=121.883;
double Nd=1.23446e23;
double a;
a=b*/sp*Nd*I*m*0.1*0.1;
计算器按出来应该是303.5,
但是我跑程序出来是535.896
应该怎么解决这个问题呀……
关于两个double类型相除的精确度问题。
#define I 6.24e15
#define m 1e-27
double b=0.0000048022;
double sp=121.883;
double Nd=1.23446e23;
double a;
a=b*/sp*Nd*I*m*0.1*0.1;
计算器按出来应该是303.5,
但是我跑程序出来是535.896
应该怎么解决这个问题呀……
//没问题啊,代码你看看
#include <stdio.h>
#define I 6.24e15
#define m 1e-27
int main(int argc, char** argv){
double b=0.0000048022;
double sp=121.883;
double Nd=1.23446e23;
double a;
//a=b
//sp*Nd*I*m*0.1*0.1;
a=b/sp*Nd*I*m*0.1*0.1;
// printf("C语言IDE");
printf("%lf",a);
return 0;
}