搜索
bottom↓
回复: 11

430中float类型只有6位有效数字,如果超过6位要如何表示?

[复制链接]

出0入0汤圆

发表于 2013-2-5 10:41:42 | 显示全部楼层 |阅读模式
430中float类型只有6位有效数字,如果超过6位要如何表示?
例如:float num_1=-1234567.890这样赋值。
在IAR里编译后,就是以-1.23456787E+6这样存储
如果将num_1扩大1000倍赋值给long num_2,
num_2得到的值就不是-1234567890
而是-1234567936
而float的范围是3.4*10的-38次方到3.4*10的38次方
long型的 范围是-2147483648到2147483648
float num_1和long num_2都没超过范围。
可为什么结果在num_1小数点后的几位都是不对的。
要如何将让float num_1扩大1000倍后得到的num_2是-1234567890?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2013-2-5 11:52:15 | 显示全部楼层
同求啊..

出0入0汤圆

发表于 2013-2-5 12:26:53 | 显示全部楼层
这是国际标准规定的,浮点数只有24个bit来表示有效数位,折合成10进大概就是7个有效数字。所以超出部分你需要自己处理。想简单要么就用double,想复杂就自己用定点运算来代替浮点运算来提高效率和精度。

出0入0汤圆

发表于 2013-2-5 12:27:52 | 显示全部楼层
这个恐怕要自己搞了。

出0入0汤圆

 楼主| 发表于 2013-2-5 13:37:55 | 显示全部楼层
jetlib 发表于 2013-2-5 12:26
这是国际标准规定的,浮点数只有24个bit来表示有效数位,折合成10进大概就是7个有效数字。所以超出部分你需 ...

感谢。。

出0入0汤圆

发表于 2013-2-5 13:47:28 | 显示全部楼层
在工程选项中把浮点数类型配置为64点:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-2-5 14:29:04 | 显示全部楼层
zpxa001 发表于 2013-2-5 13:47
在工程选项中把浮点数类型配置为64点:

这样配置后只有用double型的才有效,float型的依然无效。

出0入0汤圆

发表于 2013-2-5 14:40:17 | 显示全部楼层
本帖最后由 zpxa001 于 2013-2-5 14:42 编辑
hack3er 发表于 2013-2-5 14:29
这样配置后只有用double型的才有效,float型的依然无效。


编译器支持的float型浮点数只可能是32位...
要想获得高精度可以用64位的double型啊...
否则只能自己处理了。

出0入0汤圆

 楼主| 发表于 2013-2-5 14:45:40 | 显示全部楼层
zpxa001 发表于 2013-2-5 14:40
编译器支持的float型浮点数只可能是32位...
要想获得高精度可以用64位的double型啊...
否则只能自己处理 ...

谢谢。

出0入0汤圆

发表于 2013-2-5 22:51:40 来自手机 | 显示全部楼层
学习了,我原来是直接乘个N,变成整数好处理。

出0入0汤圆

发表于 2013-2-5 22:53:08 | 显示全部楼层
我一般都是用定点替代浮点。

出0入0汤圆

 楼主| 发表于 2013-8-6 16:53:22 | 显示全部楼层
jetlib 发表于 2013-2-5 12:26
这是国际标准规定的,浮点数只有24个bit来表示有效数位,折合成10进大概就是7个有效数字。所以超出部分你需 ...

能不能讲讲定点数处理?不是很了解。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-26 18:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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