>Java >Java시작하기 >부동 소수점 유형이란 무엇입니까? 단정밀도 부동 소수점 숫자(float) 및 배정밀도 부동 소수점 숫자(double) 소개

부동 소수점 유형이란 무엇입니까? 단정밀도 부동 소수점 숫자(float) 및 배정밀도 부동 소수점 숫자(double) 소개

青灯夜游
青灯夜游앞으로
2019-11-27 16:34:3314808검색

Java 학습자로서 이러한 Java 기본 사항을 어떻게 이해하지 못할 수 있습니까? 이 기사에서는 Java 부동 소수점 유형, 단정밀도 부동 소수점 숫자 및 이중 정밀도 부동 소수점 숫자를 안내합니다.

부동 소수점 유형이란 무엇입니까? 단정밀도 부동 소수점 숫자(float) 및 배정밀도 부동 소수점 숫자(double) 소개

부동 소수점 유형

우선, Java의 주요 부동 소수점 데이터 유형은 다음과 같습니다. 단정밀도 float, 이중 정밀도 double float、双精度double

至于浮点型就是跟intstring类型差不多。都是数据类型

浮点型浮点型别给我整些花里胡哨的定义,浮点型简单来说就是表示带有小数的数据,而恰恰小数点可以在相应的二进制的不同位置浮动,可能是这样就被定义成浮点型了。~不得不佩服这文化程度,定义个数据名称都这么有深度~

浮点型常量 Java的实常数有两种表示形式:

1、 十进制数形式:由数字和小数点组成,且必须有小数点,如0.123 , 123.0

2、科学计数法形式:如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数(当然也包括负整数)。

科学计数法中的E

了解浮点型常量 Java的实常数有两种表示形式之后,很有必要给各位科普科普下科学计数法中E的面貌了~

E是指数的意思,E代表的英文是exponentE表示10的多少次方的意思

 

比如7.823E5 = 782300 这里E5表示10的5次方,再比如54.3E-2 = 0.543这里E-2表示10的-2次方

再补充一点(针对负次方理解

一个数的负几次方就是这个数的几次方的倒数

比如: 2的负1次方=2的1次方分之一=1/2

比如: 3的负2次方=3的2次方分之一=1/9

单精度浮点数(float)

单精度浮点数在机内占4个字节、有效数字8位、表示范围:-3.40E+38 ~ +3.40E+38

在Java语言当中,所有的浮点型字面值 ~【V8提示】浮点型简单来说就是表示带有小数的数据~ 默认当做double类型来处理,要想该字面值当做float类型来处理,需要在字面值后面添加F/f,或者强制装换为float。具体如下代码:

 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;
    }

再来看看下面的测试,结果肯定十之八九会在意料之外,哈哈~

 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)

双精度浮点数在机内占8个字节、有效数字16位、表示范围:-1.79E+308 ~ +1.79E+308

double的精度太低,不适合用于做财务软件,财务涉及到钱的问题,要求精度较高,所以在java中有一个基础的类库名为:java.math.BigDecimal,但这个BigDecimal类型是引用类型不是基础类型,切记!!!

在讲单精度浮点数(float)的时候,差不多顺道把double
부동 소수점 유형이란 무엇입니까? 단정밀도 부동 소수점 숫자(float) 및 배정밀도 부동 소수점 숫자(double) 소개부동 소수점 유형
intstring 유형과 유사합니다. 모두 데이터 유형입니다.

🎜부동 소수점 유형은 온갖 멋진 정의를 제공합니다. 부동 소수점 유형은 단순히 소수가 있는 데이터를 의미하며🎜 소수점은 해당 이진수에서 다른 위치에 부동 소수점을 표시할 수 있습니다. 부동 소수점 유형으로 정의될 수 있습니다. ~이런 수준의 교육, 데이터 이름 정의의 깊이에 감탄합니다~🎜🎜부동 소수점 상수 Java의 실제 상수에는 두 가지 표현이 있습니다: 🎜🎜🎜1 소수점 형식: 숫자와 소수점으로 구성됩니다. 필수 0.123, 123.0🎜🎜와 같은 소수점이 있습니다. 2. 과학적 표기 형식: 123e3 또는 123E3과 같이 숫자가 있어야 합니다. e 또는 E 앞에, e 또는 E 뒤의 지수는 정수(물론 음의 정수 포함)여야 합니다. 🎜🎜🎜🎜E in science 표기법🎜🎜🎜🎜Java에는 부동 소수점 상수 표현이 두 가지가 있다는 점을 이해한 후, 과학적 표기법의 등장을 대중화할 필요가 있습니다. ~🎜🎜🎜E는 지수를 의미하고, E로 표현되는 영어는 지수🎜, E는 10🎜의 거듭제곱을 의미합니다. 🎜🎜🎜 🎜🎜예를 들어 7.823E5 = 782300 여기서 E5는 10의 5승을 나타냅니다. 또 다른 예는 54.3E-2 = 0.543입니다. code> 여기서E-2는 10의 -2승🎜🎜점을 하나 더 추가하는 것을 의미합니다(🎜부정의 거듭제곱에 대한 이해🎜)🎜🎜🎜숫자 음의 세제곱은 이 숫자 🎜의 세제곱의 역수입니다. 🎜🎜예: 2의 마이너스 1승 = 1/2/2 = 1/2🎜🎜예: 3의 마이너스 2승 = 3의 2승 = 1/2 1/9🎜🎜🎜🎜단정밀도 부동 소수점 숫자(float)🎜🎜🎜🎜🎜단정밀도 부동 소수점 숫자는 4바이트를 차지합니다. 유효한 숫자 8, 표현 범위: -3.40E+38 ~ +3.40E+38🎜🎜Java 언어에서는 모든 부동 소수점 문자가 Face입니다. value ~ [V8 팁] 부동 소수점 유형은 단순히 소수점으로 데이터를 나타냅니다. ~ 리터럴 값을 float 유형으로 처리하려면 기본적으로 double 유형으로 처리됩니다. 처리하려면 리터럴 값 뒤에 F/f를 추가하거나 강제로 float로 대체해야 합니다. 구체적인 코드는 다음과 같습니다. 🎜rrreee🎜 다음 테스트를 살펴보겠습니다. 결과는 확실히 예상치 못한 것입니다. 하하~🎜rrreee🎜🎜🎜이중 정밀도 부동 소수점 수(이중)🎜🎜🎜🎜🎜이중 정밀도 부동 소수점 숫자는 기계가 8 바이트를 차지하고 16 유효한 숫자를 가지며 범위를 나타냅니다: -1.79E+308 ~ +1.79E+308 🎜🎜double은 정밀도가 너무 낮고 금융 소프트웨어에 적합하지 않습니다. 금융은 금전 문제와 관련되어 더 높은 정밀도를 요구하므로 Java에는 java라는 기본 클래스 라이브러리가 있습니다. .math.BigDecimal이지만 이 BigDecimal 유형은 🎜참조 유형🎜기본 유형이 아니고🎜입니다. 기억하세요! ! ! 🎜🎜단정밀도 부동 소수점 수(float)에 대해 이야기할 때 double의 차이점에 대해 이야기할 뻔했어요 ㅎㅎ 그래서 결국에는 아주 고전적인 picture "Perfunctory" "Perfunctory" 하하하~ 야야야...때리지마...때리지마...뺨때리지마 QAQ~🎜🎜🎜이 글은 🎜Java 소개에서 따왔습니다. 🎜 칼럼, 배우신 것을 환영합니다! 🎜

위 내용은 부동 소수점 유형이란 무엇입니까? 단정밀도 부동 소수점 숫자(float) 및 배정밀도 부동 소수점 숫자(double) 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제