| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4252 人关注过本帖
标题:float and UINT转换问题
只看楼主 加入收藏
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:491
专家分:919
注 册:2012-10-26
收藏
得分:0 
1.798174
1.7981743999
1.798174399413186456
....
每个最后转出的16进制都不同~
但是转成10进制浮点数都相同~

不要投我
2013-04-11 22:37
Juson
Rank: 4
等 级:业余侠客
帖 子:70
专家分:235
注 册:2013-4-8
收藏
得分:0 
回复 31楼 yz1025
1.798174
1.7981743999
1.798174399413186456
请问它们原先是存储在哪种类型变量里面的呢,float或者double, 或者是原本是字符串,然后通过atof转换成double型,你是看了内存数据才判断它们的16进制不相等的吗,另外你转成的十进制浮点数保留了几位小数呢


[ 本帖最后由 Juson 于 2013-4-12 00:26 编辑 ]
2013-04-12 00:07
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
原本以16进制方式存在档案内~读出后转成float型~1.798174
再以十进制存在档案内~再读取出来变成的char型~"1.798174"
再用ATOF();转double型~再强制转成float型~
再转16进制存回档案中~
%F
%.10 f
%.18 f
不管小数后取几位~
用%f后都是1.798174
但是
1.798174
1.7981743999
1.798174399413186456
转成16进制的字节内容都不相同~
写支程式去跑跑看就知道了~

[ 本帖最后由 wube 于 2013-4-12 00:41 编辑 ]

不要選我當版主
2013-04-12 00:34
快速回复:float and UINT转换问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019656 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved