java数据类型有哪些? java中float和double是多少位浮点数?
java中float和double是多少位浮点数?
在Java中,float是32位的,double是64位的。浮点和双精度的范围由索引中的位数决定。float的指数有8位,double的指数有11位。分布如下:浮点:1位(符号位)8位(指数位)23位(尾位)双:1位(符号位)11位(指数位)52位(尾位)。因此,float的指数范围是-128~127,double的指数范围是-1024~1023,索引数字被补码除。浮动范围为-2^128~2^127,即-3.40e 38~3.40e 38;双精度范围为-2^1024~2^1023,即-1.79e 308~1.79e 308。
float和double区别?
它们之间的主要区别如下:
01。内存中的字节数不同
单精度浮点数占用内存4字节
双精度浮点数占用内存8字节
02。有效位数不同
单精度浮点数占8位
双精度浮点数占16位
03取值范围
单精度浮点数范围:-3.40e38~3.40e38
双精度浮点数范围:-1.79e308~-1.79e38308
04. 程序的处理速度是不同的
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数的速度快
如果不声明,默认的十进制数是double类型,所以如果要使用float,必须强制它
例如:float a=1.3将编译并报告一个错误,正确的书写是float a=(float)1.3或float a=1.3f(f或f可以不区分大小写)
注意:float是8位有效数字,第7位将被舍入
面试问题:
1。3*0.1==0.3在Java中返回什么?对还是错?
False,因为浮点数不能精确表示,它将失去精度。
2. float f=3.4在Java中是否正确?
不正确。3.4是一个双数。将double赋值给float是向下的转换,会导致精度损失。因此,您需要强制转换float f=(float)3.4或写入float f=3.4f。
java数据类型有哪些? float在java中怎么用 double和float用法区别
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。