반응형
Notice
Recent Posts
Recent Comments
Link
GBEY
[JAVA] 자바 독학기 #5 - 실수 자료형들(feat. 얄팍한 코딩사전) 본문
반응형
실수 자료형들
🔸목차
🔸float과 double?
자료형 | 크기 |
float | 4byte |
double | 8byte |
double d1 = 0.1;
double d2 = 0.2;
double d3 = d1 + d2; // 0.3 아님. 부동소수점 때문
* 부동소수점
실수를 2진수로 표현하면서 수를 정확히 표현하지 못하는 문제가 있음(대충 이해하자면)
float보다 double이 범위도 넓고, 정밀도도 높다.
float과 double의 정밀도?
: double이 더 정밀하게 표현
double dNum = 0.123123123123123123123; // 0.123123123123123123123
float fNum = 0.123123123123123123123f; // 0.12312312
float과 double의 특징
- float에는 숫자 뒤에 f나 F를 붙여야함
붙이지 않으면 double로 인식하기 때문에 float에 할당하려고 하면 에러가 난다.
float f1 = 1.23f;
double d1 = 1.23;
- float에는 double을 담을 수 없음 (반대는 가능)
float f2 = d1; // Error
float f2 = (float) d1; // 가능
- float과 double에 정수를 대입하면
>> 묵시적 형변환이 일어남
>> 가능한 최대 정확도로 표현됨
🔸float과 double의 연산
- float과 double의 연산은 double을 반환
- 부동소수점 때문에 float, double들을 더하면 오차가 생김
>> BigDecimal 클래스를 사용해서 해결
- 정수 자료형들과의 연산
>> 정수 자료형과 실수 자료형의 연산은 실수를 반환
>> double 혹은 float로 저장하기
- 실수 계산을 정확하게 하려면(double임을 명시하려면) .0을 붙여주기
double d1 = 5 / 2; // 2.0
double d2 = 5.0 / 2; // 2.5
double d3 = 5 / 2.0; // 2.5
double d4 = (double) 5 / 2; // 2.5
- 정수 자료형에 실수 자료형을 강제로 넣으면 소숫점 이하 '버림'
- 정수/실수간, 다른 숫자 자료형간 비교연산 가능
반응형
'Back-end' 카테고리의 다른 글
[JAVA] 자바 독학기 #7 - 불리언 자료형과 관련 연산자(feat. 얄팍한 코딩사전) (0) | 2023.08.24 |
---|---|
[JAVA] 자바 독학기 #6 - 문자 자료형(feat. 얄팍한 코딩사전) (0) | 2023.08.23 |
[JAVA] 자바 독학기 #4 - 정수 자료형들과 관련 연산자(feat. 얄팍한 코딩사전) (2) | 2023.08.23 |
[JAVA] 자바 독학기 #3 - 자료형과 변수의 개요(feat. 얄팍한 코딩사전) (0) | 2023.08.22 |
[JAVA] 자바 독학기 #2 - 자바의 패키지와 주석(feat. 얄팍한 코딩사전) (0) | 2023.08.21 |