Home>Article>Java> What is floating point type? Introduction to single-precision floating-point numbers (float) and double-precision floating-point numbers (double)

What is floating point type? Introduction to single-precision floating-point numbers (float) and double-precision floating-point numbers (double)

青灯夜游
青灯夜游 forward
2019-11-27 16:34:33 14635browse

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.

What is floating point type? Introduction to single-precision floating-point numbers (float) and double-precision floating-point numbers (double)

Floating point type

First of all, it is clear that the main floating point data types in Java are : Single precisionfloat, double precisiondouble

As forfloat type, it is the same asint,stringThe 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 as0.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 of

Ein scientific notation~

Emeans exponent, andErepresents The English isexponent,Emeans the power of 10.

For example,

7.823E5 = 782300Here,E5represents 10 raised to the 5th power, and another example is54.3E-2 = 0.543HereE-2represents 10 to the -2 power

Add one more point (

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 occupy

4bytes in the machine, with8bits of valid digits. The representation range is:-3.40E 38 ~ 3.40E 38

In the Java language, all floating-point literal values ~ [V8 Tips] Floating-point types simply represent data with decimals ~ By default, they are of type

doubleTo process, if you want the literal value to be processed asfloattype, you need to addF/fafter the literal value, or force the replacement tofloat. 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

8bytes in the machine, with16digits, and the representation range: The accuracy of-1.79E 308 ~ 1.79E 308

##double

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 thisBigDecimaltype isreference typeis not a basic type, remember! ! !When I was talking about single-precision floating point numbers (

float

), I almost talked about the difference betweendoublehaha, 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 theWhat is floating point type? Introduction to single-precision floating-point numbers (float) and double-precision floating-point numbers (double)java 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!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete