简单理解float和double、单精度和双精度

您所在的位置:网站首页 c语言float和double的输出区别 简单理解float和double、单精度和双精度

简单理解float和double、单精度和双精度

2024-06-03 19:00| 来源: 网络整理| 查看: 265

浮点型:至少包含一个小数点,java中有两种:float单精度、double双精度1.内存占用 一个float数值占用4个字节、32位 一个double数值占用8个字节、64位

因此,能用float尽量不用double。2.范围 float  -2^128 ~ 2^128 double -2^1024  ~ 2^1024

3.为什么浮点数会有精确度问题? 浮点数是用二进制数据的科学计数法表示的,因此不能精确的表示。就像十进制1/3 0.3333...一样

4.float 32位,double64位是怎么组成的? float  1位符号位   8位指数位  23位尾数 double 1位符号位   11位指数位  52位尾数

5.有效位数 float      6位。小数点后6位都是准确的,而第7位就不一定 double  15位。

6.关于单精度和双精度的命名?  为什么叫单精度,为什么叫双精度 1)是因为精确度位数的区别而命名的吗?--不是,至少没有资料表明,它是以这个来命名的。 2)是因为二进制科学计数法存储的尾数(float尾数23,double尾数52)的单双来命名吗?--好像也不是。 所以,只要记住单精度是float,双精度是double就好了。

最后,再来个实例: 5.2345556f  --->输出结果是5.2345557 第7位发生改变,是不是很神奇 double同理,记住,float有效位(准确位)是6位,double是15位

以上纯属个人总结、个人理解,经过书籍查阅,网上查资料得出的总结,若有不对的地方,你TM来打我呀~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3