2016 - 2024

感恩一路有你

java数据类型有哪些? java中float和double是多少位浮点数?

浏览量:1608 时间:2021-03-15 10:31:47 作者:admin

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用法区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。