1:浮点类型概述
-
浮点类型用于表示小数的数据类型。
-
浮点类型原理:也就是二进制科学级数法。
-
Java的浮点类型有float和double两种。
-
Java默认浮点类型计算的结果是double类型,字面量也是double类型。
-
若要给float类型的变量赋字面量的值,则要在字面量后面加F(或者f)
2:浮点类型的科学计数法
-
十进制浮点数科学计数法:
-
二进制浮点数科学计数法:
以 2.19345*(10^5) 为例介绍如下概念:
尾数:2.19345 // 尾数表示精度值
指数:5
基数:10
3:float类型
-
float类型共32位,1位为符号位,指数8位,尾数23位。
-
float的精度是32位(即能精确表达23位的数,超过就被截取了)。
-
小数是以尾数长度来表示精度的,比如pi=3.1415的精度是4位。
-
float存储数据的范围大于int类型,但精度比int小,因为int的精度是31位。
4:double类型
-
double类型,1位符号位,11位指数,52位尾数。
-
double范围远远大于long,但double精度不如long(long存储数据的位数是63位)。
5:浮点运算的特点
浮点运算就是实数运算,由于计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。
示例如下:
浮点运算误差示例图.png注意:在计算金额的时候,使用 BigDecimal类型。
网友评论