float和double有什么区别?
float与double的区别:
- float和double的精度是由尾数的位数来决定的。
- 浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
-
float:2^23 = ,共七位,意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字; -
double:2^52 = 70496,一共16位,同理,double的精度为15~16位。
~( ̄▽ ̄~)~
- double保留小数点后的位数更多。double精度高,有效数字16位,float精度7位。
- double消耗内存是float的两倍,double的运算速度比float慢得多。
- 浮点数默认为double数据类型。
- 关于浮点数使用float类型,其正确的写法:
float a = (float)2.5;
或者
float a = 2.5f; // f或F都可以不区分大小写
注意: 如果直接写float a=2.5; //会编译报错
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224285.html原文链接:https://javaforall.net
