| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4729 人关注过本帖
标题:一个整型数据以实型(浮点型)输出的结果是什么?为什么?
只看楼主 加入收藏
yang966122
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-14
收藏
 问题点数:0 回复次数:10 
一个整型数据以实型(浮点型)输出的结果是什么?为什么?

看下面的例子:
#include <stdio.h>
main()
{
int i=3.56;
printf("%f\n",i);
printf("%f\n",(int)3.56);
printf("%d\n",3.56);

}
结果是什么 为什么 会这样

[此贴子已经被作者于2007-5-17 8:54:44编辑过]

搜索更多相关主题的帖子: 整型 实型 数据 结果 printf 
2007-05-14 16:45
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
同问

2007-05-14 16:56
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

雁无留踪之意,水无取影之心
2007-05-14 17:08
yang966122
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-14
收藏
得分:0 
我实验下了不管整型数是多少 按浮点型输出都是 0.000000    同样 浮点型按整型输出也是0 为什么
2007-05-14 17:11
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 


偶这没编译器

雁无留踪之意,水无取影之心
2007-05-14 17:13
lg19880220
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-13
收藏
得分:0 
printf("%f",i)
%f格式
i是输出参数

printf(参数1,参数2,参数3。。。)
参数2,参数3。。。按参数1给定的格式输出
还有,不同类型的数据用不同的格式字符,否则就会像你这样
2007-05-14 17:19
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

唉,好像是随机的,不知道怎么弄的


雁无留踪之意,水无取影之心
2007-05-14 17:32
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
这是《计算机组成原理》或《计算机体系结构》的内容
2007-05-14 17:41
yang966122
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-14
收藏
得分:0 
(1) 存放:
整型数据是转换成相应的补码后直接存放在内存中,而实型与整型的存放不同,它是以指数形式存放,即符号位+小数部分+指数部分.比如:12345在内在中的存放形式是这样的:第一位符号位是’+’,接下来存放的是小数,即0.12345,最后是指数5,而小数部分和指数部分所占的位数因编译系统的不同而不同,不必深究,
(2) 转换:
所有可以转换的数据类型之间的转换都遵循一个规则:按存储单元的存储形式直接传送,从低位开始.比如:将十进制数-123转换为八进制数: 将其补码原样传送由于八进制数无符号(十六进制数也一样),所以最高位的1在八进制数的内在单元中已不代表符号,而代表数值进行运算.不同的编译器和机器所得的结果不一定相同,因为整型变量所占的字节数不同,现以十六位机(另外还与编译器有关,假如整型占两个字节)为例:-123的补码为1111111110000101,将其换算成八进制数为177605,而在32位机上(假如整形占4个字节),其结果就是37777777605.
实型转换成整型时,得到的绝不是你想要的结果,因为实型的存储形式是按指数形式存储的,低位中存储的是指数部分,当传送的时候,只是将指数部分或指数部分加上小数部分的小部分传送给整型变量,得到的结果不可能是你想要的结果.
2007-05-14 17:41
yang966122
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-14
收藏
得分:0 
2007-05-14 19:34
快速回复:一个整型数据以实型(浮点型)输出的结果是什么?为什么?
数据加载中...
 
   



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

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