As a java learner, how can I not understand the basics of these java basics? This article will take you through Java floating point types, single precision floating point numbers, and double precision floating point numbers.
Floating point type
First of all, it is clear that the main floating point data types in Java are : Single precision
float
, double precisiondouble
As forfloat type, it is the same as
int
,string
The types are similar. All aredata types.
Floating point type The floating point type gives me all the fancy definitions.Floating point type simply means data with decimals, and the decimal point can be used in the corresponding The different positions of the binary float may be defined as floating point types in this way. ~I have to admire this level of education, how profound it is to define a data name~
Floating-point constant Java’s real constants have two representations:
1. Decimal number Format: It consists of numbers and decimal points, and there must be a decimal point, such as
0.123
,123.0
##2. Scientific notation format: such as: 123e3 or 123E3 , where there must be a number before e or E, and the exponent after e or E must be an integer (including negative integers, of course).
E in scientific notation
After understanding floating-point constants Java’s real constants have two representations , it is very necessary for you to popularize science about the appearance ofEin scientific notation~
Add one more point (E
For example,means exponent, and
Erepresents The English is
exponent,E
means the power of 10
.7.823E5 = 782300
Here,
E5represents 10 raised to the 5th power, and another example is
54.3E-2 = 0.543Here
E-2represents 10 to the -2 power
understanding for negative powers)
The negative power of a number is the reciprocal of the power of that number.
For example: 2 to the negative 1 power = 1/2 of 2 =1/2
For example: 3 to the negative 2 power = 3 One divided to the power of 2=1/9
Single precision floating point number (float)
Single-precision floating point numbers occupyIn the Java language, all floating-point literal values ~ [V8 Tips] Floating-point types simply represent data with decimals ~ By default, they are of type4
bytes in the machine, with
8bits of valid digits. The representation range is:
-3.40E 38 ~ 3.40E 38
doubleTo process, if you want the literal value to be processed as
floattype, you need to add
F/fafter the literal value, or force the replacement to
float. The specific code is as follows:
public static void main(String[] args) { //3.10是浮点型,浮点型字面值默认当做double类型来处理,直接编译通过; double d=3.10; //3.10是浮点型,则必须加 F或者f,若没加,直接编译不通过,会报错“损失精度” float f=3.10; //编译出错会报错“损失精度” // 解决办法: // 第一种方式:强制类型转换 float f1=(float)5.1; // 第二种方式:没有类型转换; folat f2=5.1f; }Let’s take a look at the following test. The result will definitely be unexpected, haha~
public static void main(String[] args) { float a = 12345678.90123456789f; double b=0.12345678901234567890; float c=0.12345678901234567890f; System.out.println(a); System.out.println(b); System.out.println(c); 打印结果 a = 1.2345679E7 b = 0.12345678901234568 c = 0.12345679 }
Double precision floating point number ( double)
Double-precision floating-point numbers occupy##double8
bytes in the machine, with
16digits, and the representation range: The accuracy of
-1.79E 308 ~ 1.79E 308
is too low and is not suitable for financial software. Finance involves money issues. Higher precision is required, so there is a basic class library in java named:java.math.BigDecimal
, but thisBigDecimal
type is
reference typeis not a basic type, remember! ! !When I was talking about single-precision floating point numbers (
), I almost talked about the difference betweendouble
haha, so I gave you a very classic picture at the end. "Perfunctory", hahaha~ Hey hey hey...don't hit...don't hit...don't slap in the face QAQ~
This article comes from thejava Getting Started
column, Welcome to learn!
The above is the detailed content of What is floating point type? Introduction to single-precision floating-point numbers (float) and double-precision floating-point numbers (double). For more information, please follow other related articles on the PHP Chinese website!