c语言中实数是怎么存储的?

我查了一下网上有两种结果:一种是:例、12.63首先整数部分为:1100小数部分:0.63*2=1.26,得小数后第一位为1,0.26*2=0.52得小数的第二位为0,0... 我查了一下网上有两种结果:
一种是:
例、12.63
首先整数部分为:1100
小数部分:0.63*2=1.26,得小数后第一位为1,0.26*2=0.52得小数的第二位为0,0.52*2=1.04得第三位为1,0.04*2=0.08得第四位为0,0.08*2得第五位,以此类推。于是得到最后的结果为1100.10100001b(省略了后面的计算)

第二种是:
按指数形式存储
比如3.14159
这里就是0.314159x10^1

这两种存储结果不一样吧??、到底哪种存储才是正确的??为什么
展开
 我来答
钺森莉SW
2019-06-01 · TA获得超过197个赞
知道小有建树答主
回答量:402
采纳率:58%
帮助的人:79.6万
展开全部
C语言中实数在内存单元中按照指数形式存放。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万斛山语
2019-05-31 · TA获得超过574个赞
知道小有建树答主
回答量:561
采纳率:55%
帮助的人:132万
展开全部
第二种方式存贮
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjf121348
2019-05-31 · TA获得超过520个赞
知道小有建树答主
回答量:1126
采纳率:59%
帮助的人:250万
展开全部

https://zh.cppreference.com/w/c/language/arithmetic_types

实浮点类型

C 拥有三种表示实浮点值的类型:

  • float - 单精度浮点类型。若支持则匹配 IEEE-754 32 位浮点类型。

  • double - 双精度浮点类型。若支持则匹配 IEEE-754 64 位浮点类型。

  • long double - 扩展精度浮点类型。若支持则匹配 IEEE-754 扩展浮点类型,否则匹配某些非标准扩展浮点类型,只要其精度高于 double 且范围至少与 double 相同,否则再匹配 double 类型。某些 x86 与 x86-64 实现使用 80 位x 87 浮点类型。

所以你需要去查IEEE-754。

反正结论先告诉你,题目里两种都是错的。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式