简单理解float和double、单精度和双精度 |
您所在的位置:网站首页 › c语言float和double的输出区别 › 简单理解float和double、单精度和双精度 |
浮点型:至少包含一个小数点,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 |