float多少位小数-float有效数字七位详解

为了更好地表明浮点型,大家应用float,double和long double。有什么不同?

float多少位小数-float有效数字七位详解插图双精度是浮点数精密度的二倍。

浮点型是32位IEEE 754单精度浮点型的1位标记(8位是指数值,23 *是标值),即浮点型具备7位十进制数据精密度。

Double是一个64位的IEEE 754双精度浮点型(标记1位,指数值11位,值52 *位),即double具备15位小数的精密度。

float多少位小数-float有效数字七位详解插图1使我们举个事例:

针对二次方程x2–4.000000 x 3.999999 = 0,精准到10个有效数字的根是r1 = 2.000316228和r2 = 1.999683772。

// C program to demonstrate// double and float precision values#include #include // utility function which calculate roots of// quadratic equation using double valuesvoiddouble_solve(doublea, doubleb, doublec){doubled = b*b - 4.0*a*c;doublesd = sqrt(d);doubler1 = (-b sd) / (2.0*a);doubler2 = (-b - sd) / (2.0*a);printf("%.5ft%.5fn", r1, r2);}// utility function which calculate roots of// quadratic equation using float valuesvoidfloat_solve(floata, floatb, floatc){floatd = b*b - 4.0f*a*c;floatsd = sqrtf(d);floatr1 = (-b sd) / (2.0f*a);floatr2 = (-b - sd) / (2.0f*a);printf("%.5ft%.5fn", r1, r2);}// driver programintmain(){floatfa = 1.0f;floatfb = -4.0000000f;floatfc = 3.9999999f;doubleda = 1.0;doubledb = -4.0000000;doubledc = 3.9999999;printf("roots of equation x2 - 4.0000000 x 3.9999999 = 0 are : n");printf("for float values: n");float_solve(fa, fb, fc);printf("for double values: n");double_solve(da, db, dc);return0;}

輸出:

方程式x2–4.0000000 x 3.9999999 = 0的根为:

针对浮点数值:2.00000 2.00000

针对双精度值::2.00032 1.99968

根据之前的事例,你把握了这二种基本数据类型的差别了没有?期待对您有协助~

温馨提示:
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

给TA赞赏
共{{data.count}}人
人已赞赏
未整理

雨婷《服装直播带货运营落地实操课》新号0粉快速带货日销10W+

2021-7-31 0:00:00

未整理

XnSay机器人授权系统源码

2021-8-2 0:00:00

0 条回复 A文章作者 M管理员
----《》
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索