鱼C论坛

 找回密码
 立即注册
查看: 4279|回复: 4

关于浮点型与整型的格式输出的小问题

[复制链接]
发表于 2013-2-7 21:50:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
小弟想问个关于浮点型与整型的格式输出的小问题,求各位大神帮忙解释哈。。

代码:

#include <stdio.h>
#include <conio.h>
void main()
{
int r = 5;
double s, PL = 3.14;
  
r = 5;
s = r*PL;

printf("s=%f\n",s);
getch();
}


变量s 和Pl 我设定成了浮点型变量,如果我将%f 改为%d ,输出的s的值将是一堆不知道哪来的数字,而且每次运行时都是一样

的,s=1717986919 。我想知道这些数是哪里来的?是内存里的随机数吗?若是随机数,那为什么每次运行得出的结果都是一样的?还是其它的什么原因?


小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-7 22:18:07 | 显示全部楼层
我也想知道
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-7 22:21:15 | 显示全部楼层
我的编C:\Users\scoot\Desktop\无标题.png译器就不是这样么
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-8 10:01:41 | 显示全部楼层
double在内存中占8个字节,而且以一种“IEEE754 长浮点数”的格式存放,用%d打印的时候将只打印该格式中的低4个字节;所以每次打印的都一样,但你看不懂其内容;为了彻底搞明白这个内容的含义,你需要自己去了解“IEEE754 长浮点数”的格式,这个很容易baidu到,是否值得研究自己权衡吧
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-2-8 21:15:13 | 显示全部楼层

好的,谢谢啦,我去研究一记……
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 10:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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