실수 자료형
부동 소수점 방식
실수 자료형은 부동 소수점 방식으로 표현된다.
부동 소수점의 개념이 너무 어려워서 이해를 못하겠으니
일단 지수와 가수를 구분해서 표현하는 방식이라고만 이해해 놔야겠다.
0.1은 1.0 x 10-1으로도 표현 할 수 있다.
여기서 가수가 1.0 이며 지수가 -1이고 밑수가 10이다.
부동 소수점 방식의 오류
지수와 가수로 나타내는 부동 소수점 방식은 지수로 표현되는 값이 0을 나타낼 수 없다.
따라서 부동 소수점 값을 연산하면 약간의 오차가 발생한다.
public class CharEx {
public static void main(String[] args){
double dNum = 1;
for (int i = 0; i < 10000; i++){
dNum = dNum + 0.1;
}
System.out.println(dNum);
}
}

오차가 나도 부동 소수점 방식을 쓰는 이유는 더 넓은 범위의 실수 값을 표현하기 위해서이다.
float형과 double형
float 형은 부호 1비트, 지수부 9비트, 가수부 23비트로 총 32비트(4바이트)를 사용한다.
double 형은 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트)를 사용한다.
자바에서 실수는 double형을 기본으로 사용한다.
float형에 비해 double형이 더 정밀하게 실수를 표현할 수 있다.
public class CharEx {
public static void main(String[] args){
double dNum = 3.14;
float fNum = 3.14f;
System.out.println(dNum);
System.out.println(fNum);
}
}

3.14는 double형으로 컴퓨터 내부에 저장되어 dNum 값에 대입된다.
float형으로 대입되는 값 3.14는 double형이 아닌 float형 값이 대입된다는 의미로 F 또는 f를 숫자 뒤에 붙여서 식별해주어야 한다.
논리 자료형
어떤 변수의 참, 거짓의 값을 나타내는 데 사용.
boolean형 한가지 밖에 없으며 1바이트로 값을 저장한다.
true(참) false(거짓) 두 가지 값만 가진다.
public class CharEx {
public static void main(String[] args){
boolean isMarried = true;
System.out.println(isMarried);
}
}

'JAVA' 카테고리의 다른 글
| 형 변환 (1) | 2024.12.06 |
|---|---|
| 상수와 리터럴 (0) | 2024.12.03 |
| 문자 자료형 연습 / 'A'와 "A"는 다르다. (2) | 2024.12.02 |
| 3일차 자료형 (2) | 2024.11.21 |
| 2진수(부호비트, 2의 보수), 변수(선언, 초기화) (0) | 2024.11.19 |