在C++语言中,浮点数的精度有什么区别?比如double和float。双精度和单精度有啥区别?
3个回答
2015-09-23
展开全部
由这个浮点数在内存中的长度决定
double是64位,占8字节,float32位,占4字节,所以double的精度比float高
在一个浮点数里,由阶码和尾数2部分表示,与科学计数法类似,但是它的阶不是10,而是2,也就是说浮点数的表示是 尾数*2^阶码
阶码决定了浮点数的范围,尾数决定了浮点数的精度,尾数是永远在0~1之间的,假设一个浮点数的尾数是1101011,阶码是101,那么实际上表示的数就是0.1101011*2^101 这里的数都是二进制的,要先转换成10进制,然后再求值
去看下计算机组成原理吧..
double是64位,占8字节,float32位,占4字节,所以double的精度比float高
在一个浮点数里,由阶码和尾数2部分表示,与科学计数法类似,但是它的阶不是10,而是2,也就是说浮点数的表示是 尾数*2^阶码
阶码决定了浮点数的范围,尾数决定了浮点数的精度,尾数是永远在0~1之间的,假设一个浮点数的尾数是1101011,阶码是101,那么实际上表示的数就是0.1101011*2^101 这里的数都是二进制的,要先转换成10进制,然后再求值
去看下计算机组成原理吧..
展开全部
就是"精度"不同, float有6~7位有效数字, 而double有15~16位
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有区别,数据范围不一样。小数点位数也不一样。
追问
嗯,范围我了解,那位数分别是多少?我用double也能看到好多小数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询