经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C/C++编程笔记:数据类型中 float 和 double 的区别!细节讲解
来源:cnblogs  作者:C/C++爱好者  时间:2020/11/16 10:28:16  对本文有异议

为了表示浮点数,我们使用floatdoublelong double有什么不同 ?

 

double的精度是float的2

float是32位IEEE 754单精度浮点数1位符号,(8位为指数,23 *为值),即float具有7位十进制数字精度。

double是64位的IEEE 754双精度浮点数(符号1位,指数11位,值52 *位),即double具有15位十进制数字的精度。

 

让我们举个例子:

对于二次方程x2 – 4.0000000 x + 3.9999999 = 0,精确到10个有效数字的根是r1 = 2.000316228和r2 = 1.999683772

  1. // C program to demonstrate
  2. // double and float precision values
  3. #include <stdio.h>
  4. #include <math.h>
  5.  
  6.  
  7. // utility function which calculate roots of
  8. // quadratic equation using double values
  9. voiddouble_solve(doublea, doubleb, doublec){
  10. doubled = b*b - 4.0*a*c;
  11. doublesd = sqrt(d);
  12. doubler1 = (-b + sd) / (2.0*a);
  13. doubler2 = (-b - sd) / (2.0*a);
  14. printf("%.5f\t%.5f\n", r1, r2);
  15. }
  16. // utility function which calculate roots of
  17. // quadratic equation using float values
  18. voidfloat_solve(floata, floatb, floatc){
  19. floatd = b*b - 4.0f*a*c;
  20. floatsd = sqrtf(d);
  21. floatr1 = (-b + sd) / (2.0f*a);
  22. floatr2 = (-b - sd) / (2.0f*a);
  23. printf("%.5f\t%.5f\n", r1, r2);
  24. }
  25. // driver program
  26. intmain(){
  27. floatfa = 1.0f;
  28. floatfb = -4.0000000f;
  29. floatfc = 3.9999999f;
  30. doubleda = 1.0;
  31. doubledb = -4.0000000;
  32. doubledc = 3.9999999;
  33. printf("roots of equation x2 - 4.0000000 x + 3.9999999 = 0 are : \n");
  34. printf("for float values: \n");
  35. float_solve(fa, fb, fc);
  36. printf("for double values: \n");
  37. double_solve(da, db, dc);
  38. return0;
  39. }

 

输出:

roots of equation x2 - 4.0000000 x + 3.9999999 = 0 are :: 

for float values: 2.00000 2.00000

for double values: : 2.00032 1.99968

通过以上实例,你掌握了这两个数据类型的不同之处了吗?希望对你有帮助哦~

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!

C语言C++编程学习交流圈子,QQ群1030652847点击进入】微信公众号:C语言编程学习基地

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习书籍分享:

编程学习视频分享:

原文链接:http://www.cnblogs.com/112Q/p/13966745.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号