Home > Java > Javagetting Started > 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)

青灯夜游
Release: 2019-11-27 16:34:33
forward
14818 people have browsed it

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 precision float, double precision double

As for float type, it is the same as int, string The types are similar. All are data 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 of

E in scientific notation~

E means exponent, and E represents The English is exponent, E means the power of 10.

For example,

7.823E5 = 782300 Here, E5 represents 10 raised to the 5th power, and another example is 54.3E-2 = 0.543HereE-2 represents 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

4 bytes in the machine, with 8 bits 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

double To process, if you want the literal value to be processed as float type, you need to add F/f after 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;
    }
Copy after login

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
    }
Copy after login

Double precision floating point number ( double)

Double-precision floating-point numbers occupy

8 bytes in the machine, with 16 digits, 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 this BigDecimal type is reference type is not a basic type, remember! ! ! When I was talking about single-precision floating point numbers (

float

), I almost talked about the difference between double 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 the What 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!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template