|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助] a=(float) (7/4),a是多少?为什么?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3104
人关注过本帖
标题:
[求助] a=(float) (7/4),a是多少?为什么?
只看楼主
加入收藏
incoolwen
等 级:
新手上路
帖 子:58
专家分:0
注 册:2007-6-21
第
11
楼
收藏
得分:0
a=(float) (7/4),a是多少?为什么
a=1.750000 (float占4个字节,小数点6位)
因为你强制了类型转换了``
如果你把float改成int就是1了``
2007-07-09 20:48
举报帖子
使用道具
赠送鲜花
zidance
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-5-22
第
12
楼
收藏
得分:0
当然是1.000000,7和4都是整型,进行计算会强制转化为整型,就算你加了个强制转换float,也是计算出整型后才转化。如果你想得到1.750000,只要将7或者4改为7.0或4.0,这样由于float高于int,计算结果会自动转化为float。楼主应该好好看看数值型数据间的混合运算这方面的内容。
2007-07-09 22:33
举报帖子
使用道具
赠送鲜花
laigaoat2005
等 级:
业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
第
13
楼
收藏
得分:0
那得看a是什么类型了.
来C的乐园吧: QQ群:42675698
2007-07-09 22:36
举报帖子
使用道具
赠送鲜花
zidance
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-5-22
第
14
楼
收藏
得分:0
double(float)>long>unsigned>int(char,short),这个就是各个类型的优先级,运算时必须将各个数据转化为同一类型,以最高优先级为准。
2007-07-09 22:36
举报帖子
使用道具
赠送鲜花
zidance
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-5-22
第
15
楼
收藏
得分:0
这跟a的类型无关,随便你设为什么类型都是一样的。
2007-07-09 22:39
举报帖子
使用道具
赠送鲜花
windflush
等 级:
新手上路
威 望:
8
帖 子:886
专家分:0
注 册:2007-7-1
第
16
楼
收藏
得分:0
以下是引用
zidance
在2007-7-9 22:33:06的发言:
当然是1.000000,7和4都是整型,进行计算会强制转化为整型,就算你加了个强制转换float,也是计算出整型后才转化。如果你想得到1.750000,只要将7或者4改为7.0或4.0,这样由于float高于int,计算结果会自动转化为float。楼主应该好好看看数值型数据间的混合运算这方面的内容。
同意这个意见。
2007-07-09 22:41
举报帖子
使用道具
赠送鲜花
sweifeng
等 级:
新手上路
帖 子:5
专家分:0
注 册:2009-7-23
第
17
楼
收藏
得分:0
如果是 int a
的话,那么结果是1;
如果是 float a 的话,那么结果是1.0000000。
——————
上面的结果有写代码测试,用的是turbo2.0
原因其实这本书前面也有提到:当两个整数相除时,所得到的结果仍然是整数。
a=(float) (7/4);
就属于教程说的情况,两个整数相除,所以得整数1,1的float就是1.0000000
2011-07-06 15:53
举报帖子
使用道具
赠送鲜花
17
2/2页
1
2
快速回复:
[求助] a=(float) (7/4),a是多少?为什么?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.058766 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved