浮子和双面有什么区别?我读过双精度和单精度的区别。然而,在大多数情况下,float和double似乎是可互换的,即使用一种或另一种似乎不影响结果。真的是这样吗?什么时候浮动和双打是可互换的?他们之间有什么不同?
3 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
有三种浮点类型: float,double,和 long double..类型 double提供的精度至少与 float,以及类型 long double提供的精度至少与 double..类型的值集。 float类型的值集的子集。 double;类型的值集。 double类型的值集的子集。 long double.
浮点类型的值表示是实现定义的.
慕桂英3389331
TA贡献2036条经验 获得超8个赞
floatdouble
#include <stdio.h>#include <math.h>void dbl_solve(double a, double b, double c){
double d = b*b - 4.0*a*c;
double sd = sqrt(d);
double r1 = (-b + sd) / (2.0*a);
double r2 = (-b - sd) / (2.0*a);
printf("%.5f\t%.5f\n", r1, r2);}void flt_solve(float a, float b, float c){
float d = b*b - 4.0f*a*c;
float sd = sqrtf(d);
float r1 = (-b + sd) / (2.0f*a);
float r2 = (-b - sd) / (2.0f*a);
printf("%.5f\t%.5f\n", r1, r2);} int main(void){
float fa = 1.0f;
float fb = -4.0000000f;
float fc = 3.9999999f;
double da = 1.0;
double db = -4.0000000;
double dc = 3.9999999;
flt_solve(fa, fb, fc);
dbl_solve(da, db, dc);
return 0;}2.00000 2.000002.00032 1.99968
float.
- 3 回答
- 0 关注
- 481 浏览
添加回答
举报
0/150
提交
取消
