标题:一个关于printf();输出格式问题
只看楼主
坐坐吧
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-4
得分:0 
谢谢,可我觉得,是printf();这个库函数的原因,上图已经给出调试截图,内存中确实已经写入了输入的值,可输出的时候,就变了
2011-03-04 13:05
double051010
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-3-1
得分:1 
float的精度高于int型,输出时会出现错误。可以强制把float型转换成int型后,再输出。
2011-03-04 13:06
double051010
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-3-1
得分:0 
float精度高于int,强制转换成int后,再输出
2011-03-04 13:07
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
得分:1 
浮点与整数存放格式不同
浮点里面有阶码与尾数
而整数应该就是一个简单的二进制数,计算机一般用补码表示
所以因为存放格式不同,输出自然会出现这样的情况了

建议楼主去阅读计算机组成原理(大学计算机基础课程,应该是在大二时候),数据在计算机中的存放办法,相信在你看过之后就不会再疑惑了

[ 本帖最后由 baobaoisme 于 2011-3-4 13:44 编辑 ]
2011-03-04 13:40
Super_Pippo
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-3-4
得分:1 
过来学习一下 也遇到这样的问题  也要在这块上补补了
2011-03-04 20:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-333190-1-1.html




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

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