找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 704|回复: 4
打印 上一主题 下一主题
收起左侧

C语言float小数点前就几位,转成整型最大值是多少?

[复制链接]
跳转到指定楼层
楼主
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2022-5-7 15:35 | 只看该作者
float转成整型最大值是: 6.805646932770577*10^38
回复

使用道具 举报

板凳
ID:123289 发表于 2022-5-9 16:37 | 只看该作者
要看float定义,用的是几个字节。通常或默认是4个字节,一个字节表示方次,三个字节是底数。
如果,方次81H,底数000000H表示1,你估估看,它能表示的范围。
最大值的表示方式:方次FFH,底数7FFFFFH(最高位隐含是1,写1表示负数,写0表示正数,但无论是正是负认定最高位是1)。如此,最大数是:+1.70141173319264E+38。
如果,方次7FH,底数000000H表示1,则与沙发的结论相同。
我至少遇到过两种不同的浮点数表示方式(符号位的位置定义不同),又不敢认定哪一种是对是错,因为在它们各自的编译平台下,数据一定是正确的。仅仅是浮点时,表达不一样(定浮转换当然也不同)。
或许对于同一个定点数,有N种浮点的表达方式。
我也有疑问未解:如果浮点交换数据,如果浮点的表达方式不同,不就出问题了么。
但至少我知道,这里可能会出问题,于是在汇编程序中会留意浮点数的表示方式(看它的定浮转换程序就知道了)。
回复

使用道具 举报

地板
ID:94031 发表于 2022-5-9 20:32 | 只看该作者
在c51 keil里,浮点数范围大得多(38位),四字节unsigned long只有10位。


回复

使用道具 举报

5#
ID:883242 发表于 2022-5-10 23:24 | 只看该作者
IEEE-754的指数部分采用滑动格式,0~255表示指数范围为-127~128,可以看到最大值比最小值大2倍,这就是楼上某位半瓶子醋把最大能表达的数字搞小了一倍的原因。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表