社区
C语言
帖子详情
谁能详细讲解一下float与double都分别怎么使用?
jun362415472
2010-05-23 10:05:18
float与double它们本质的区别在是它们所占的内存大小与其精度。
但在好多场合使用float 不行,使用double却可以,就连就简单的
float i=6.0;也会出现warnning
...全文
5483
15
打赏
收藏
谁能详细讲解一下float与double都分别怎么使用?
float与double它们本质的区别在是它们所占的内存大小与其精度。 但在好多场合使用float 不行,使用double却可以,就连就简单的 float i=6.0;也会出现warnning
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jun362415472
2010-05-25
打赏
举报
回复
thank you
shangqiuzuidong
2010-05-23
打赏
举报
回复
double精度比float高!所以好多场合使用float不行,因为精度不够...
但高精度的代价是占用更多的内存...
C标准规定浮点常量默认是double,要符合标准用后缀f或F
C/C++ codefloat f = 6.0f;
上楼的已经说得很清楚
fthislife
2010-05-23
打赏
举报
回复
[Quote=引用 3 楼 lbh2001 的回复:]
C标准规定浮点常量默认是double,要符合标准用后缀f或F
C/C++ code
float f = 6.0f;
[/Quote]
已经说清楚了。
float i=6.0;这样有warning的原因,安C标准 6.0 是double类型(默认的),把一个double隐式转float造成精度的损失,当然有warning了。而float f = 6.0f;这样 6.0f 是float 所以没问题
ameyume
2010-05-23
打赏
举报
回复
[Quote=引用 3 楼 lbh2001 的回复:]
C标准规定浮点常量默认是double,要符合标准用后缀f或F
C/C++ code
float f = 6.0f;
[/Quote]
up
还有就是楼上各位说的精度差别了。
hnzzgmc
2010-05-23
打赏
举报
回复
f,F
jianglutian
2010-05-23
打赏
举报
回复
有些编译器对double还有特殊优化。
一般来说float和double使用时候运算速度差别不是很大,为了保持精度建议使用后者。
当然对内存要求比较高的嵌入式需要好好斟酌一下
long double……不建议用,除非误差实在太大。。。
KevinHo
2010-05-23
打赏
举报
回复
LZ不会吧,应该不会提示这样的警告的。
double和float其实就是精度不同的浮点数,前者是双精度,后者是单精度。
要不然,你这么试试,float i = 6.0f; 看看这样还会不会报警告
ctwoz
2010-05-23
打赏
举报
回复
我是初学者,一般用double,float很少用。。。。。
lbh2001
2010-05-23
打赏
举报
回复
C标准规定浮点常量默认是double,要符合标准用后缀f或F
float f = 6.0f;
findcsdn
2010-05-23
打赏
举报
回复
什么场合用float不行? 只要精度合适,应该都可以吧!
你用什么编译器,我在Vc6上没有警告。
chaoliu1024
2010-05-23
打赏
举报
回复
double精度比float高!所以好多场合使用float不行,因为精度不够...
但高精度的代价是占用更多的内存...
fay8048
2010-05-23
打赏
举报
回复
精度不同,占用内存大小不同,至于不同硬件位数,用语言自己侧
cao_julians
2010-05-23
打赏
举报
回复
1.先说硬件层面:PC机的CPU中的浮点数运算器是80位的,称为long double型的,存在着一定的运算误差(在低位),存储时改用double(64位)类型就有足够的精度了,但用float(32位)类型存储就引入了很大的舍去误差。
2.由此标准库的数学函数不论是参数还是返回值的类型都选用double,不加后缀f的字面值(如3.1416)自动处理为double类型
3.当涉及到浮点数的迭代运算时,用float类型相当于用80位算、舍去低位用32位存,再用80位算、...
完全是浪费“资源”
==========================
而在ARM或51系列CPU中,有无硬件浮点数运算器,是多少位的,另当别论
笑遍世界
2010-05-23
打赏
举报
回复
笔误了一下改为:double 绝对值小于10e-308的数被处理成0值
笑遍世界
2010-05-23
打赏
举报
回复
很多楼上 都说的很清楚了。。。 还是应该看看课本的这个,然后自己写程序试一下吧。。
C编译器通常
默认浮点数是double
的,且float的运算也都会先转化为double再运算的(谭浩强的书中也说过),所以才有你所提到的warning。
从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度。 (当然这个位数和机器、编译器有关)
float数值范围约在-10e38~10e38,并提供7位有效数字位,绝对值小于10e38地数被处理成零值 double数值范围约在-10e308~10e308,并提供15~16位有效数字,绝对值小于10e308地数被处理成零值
其他原理可以看这里:http://dev.firnow.com/course/3_program/c++/cppsl/2008629/129103.html
[Quote=引用 10 楼 shangqiuzuidong 的回复:]
double精度比float高!所以好多场合使用float不行,因为精度不够...
但高精度的代价是占用更多的内存...
C标准规定浮点常量默认是double,要符合标准用后缀f或F
C/C++ codefloat f = 6.0f;
上楼的已经说得很清楚
[/Quote]
详细
讲解
int、
float
与
double
的区别
最近为了看
一下
float
的精确度仔细看了
一下
这三种数据在内存中的样子,看了
一下
别人的博客发现大家对精度都有这不同的定义,我自己也简单画了
一下
。 下面来主要
讲解
一下
int、
float
与
double
三者的区别与详解 一、int(最简单的一种) int数据类型在内存中占用了4个字节byte(4*8个bit比特)就是32个比特位。第一位代表int的正负,后31位存储数据。当int取最大值时相当于31个1(1*2^30+1*2^29+1*2^28+....+1*2^0)可以转化为有32位切为1其他为0之后再减去
C/C++编程笔记:数据类型中
float
和
double
的区别!细节
讲解
为了表示浮点数,我们
使用
float
,
double
和long
double
,有什么不同 ?
double
的精度是
float
的2倍。
float
是32位IEEE 754单精度浮点数1位符号,(8位为指数,23 *为值),即
float
具有7位十进制数字精度。
double
是64位的IEEE 754双精度浮点数(符号1位,指数11位,值52 *位),即
double
具有15位十进制数字的精度。 让我们举个例子: 对于二次方程x2 – 4.0000000 x + 3.9999999 = 0,精确到10个有
浅谈
float
和
double
浅谈
float
和
double
浅谈
float
和
double
举个栗子 浅谈
float
和
double
今天我们来谈谈Java中的
float
和
double
在计算机中是如何存储的。都知道int和
float
在Java中所占的字节数都是4字节,但是int只能存储整数型,
float
不仅能储存浮点型,存储范围也比整数大,既然同样的字节数为什么会有不同的效果呢? 是因为
float
和
double
类型在计算机中的存储结构...
Java基础系列:数据精度
float
,
double
,BigDecimal
数据精度在金融相关(与钱相关)的领域应用非常广泛,通常
使用
的浮点型数据类型
float
和
double
都有精度限制,在处理更多位数取舍(超出
float
和
double
精度范围)以及保留小数点后面的几位小数需要结束BigDecimal处理,在四舍五入的功能上,BigDecimal提供了7种取舍模式,本文配以取舍案例
讲解
。
【C】int、
float
、
double
之间的强转导致精度损失的问题
对这个问题的探讨来源于一道机组的原题 假定变量i,f,d数据类型分别为int,
float
和
double
(int用补码表示,
float
和
double
分别用IEEE754单精度和双精度浮点数据格式表示),已知i=785,f=1.5678,d=1.5。若在32位机器中执行下列关系表达式,则结果为真是( ) (Ⅰ)i==(int)(
float
)i (Ⅱ)f==(
float
)(int)f (Ⅲ)f==(fl...
C语言
69,335
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章