- 이번 강좌에서는 기본 자료형 중 실수 관련을 보도록 하겠습니다.
- 1강 변수 선언에서도 자료형 종류를 볼 때 바이트라는 개념을 적어드렸는데, 개념을 먼저 잡고 공부해 주세요.
정수형 | 문자형 | 실수형 | 논리형 | |
1바이트 | byte | boolean | ||
2바이트 | short | char | ||
4바이트 | int | float | ||
8바이트 | long | double |
- 컴퓨터는 기계인데, 기계가 정보를 이해하는 방법은 사람과 다를 수밖에 없습니다.
- 평소 사용하는 숫자나 알파벳 문자를 컴퓨터 내부에서는 어떻게 저장하고 표현하고, 이해하는지 알아보겠습니다.
1. 실수자료형
- 변수는 컴퓨터 내부의 메모리 공간에 저장됩니다.
- 메모리는 프로그램이 실행되는 작업 공간입니다.
- 즉, double a; 라고 선언하면, 메모리에 8바이트(double바이트) 크기의 공간이 a라는 이름으로 할당됩니다.
- 그래서 각각의 자료 유형이 몇 바이트를 갖는지 알고 있으면 좋습니다.
- 위에서도 표로 보여드렸는데 실수만 다시 정리해서 보겠습니다.
자료형 | 바이트 크기 | 범위 |
float | 4 | 부호 1비트, 지수부 8비트, 가수부 23비트로 총 32비트(4바이트) |
double | 8 | 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트) |
- 실수는 부동 소수점 방식을 이용하여 표현합니다.
- 그래서 부호비트 1비트, 지수부, 가수부로 구성합니다.
- 근사치이기 때문에 항상 오차가 발생합니다.
1) float형
- float는 4바이트입니다.
- 부호 1비트, 지수부 8비트, 가수부 23비트로 총 32비트(4바이트)로 이루어져 있습니다.
- float 같은 경우는 접미사로 [ f ] 혹은 [ F ]를 붙여 줘야 합니다.
- 이제 예제를 실습해 보겠습니다.
- 패키지(ch03_real_number_type)과 클래스(Ex01_Float.java)를 추가해 주세요.
- 기초적 작업을 모르는 분은 아래 주소를 클릭하고 보고 오세요.
https://ossam5.tistory.com/613
## float 자료형 선언 실습1 - Ex01_Float.java
package ch04_real_number_type;
public class Ex01_Float {
public static void main(String[] args) {
//float num1 = 1.234; //접미사를 붙이지 않아 에러
float num2 = 1.234F;
System.out.println(num2);
}
}
- num1은 뒤에 접미사를 F를 붙이지 않았기 때문에 에러입니다.
- num2는 실수 뒤에 F를 붙였기 때문에 에러가 아닙니다.
- 프로젝트에 에러가 발생되면 보기가 안 좋기 때문에 앞에 //로 한 줄 주석 처리했습니다.
- 테스트해 볼 때는 //를 빼보면 에러 표시가 보일 겁니다.
2) double형
- double는 8바이트입니다.
- 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트)로 이루어져 있습니다.
- float와는 다르게 접미사를 붙이지 않아도 잘 됩니다.
- 그래서 float보다는 double을 선호해서 씁니다.
## double 자료형 선언 실습1 - Ex02_Double.java
package ch04_real_number_type;
public class Ex02_Double {
public static void main(String[] args) {
double num1 = 1.234567;
double num2 = 1;
System.out.println(num1);
System.out.println(num2);
}
}
- 접미사 없이도 잘 처리가 되는 것을 확인할 수 있습니다.
- num2는 정수 1을 담아봤습니다. 그리고 출력했을 때의 결과가 어떤지 보도록 하겠습니다.
## double 자료형 선언 결과1 - Ex02_Double.java
- 정수를 처리해도 실수로 반환되는 것을 확인할 수 있습니다.
** 숫자 자료형 중 실수형은 모두 확인을 했습니다.
** 다음 강좌를 논리형을 확인해 보도록 하겠습니다.
'컴퓨터언어 > JAVA(자바)' 카테고리의 다른 글
[JAVA강좌] 6강 참조형변수 - String(문자열) (0) | 2023.12.28 |
---|---|
[JAVA강좌] 5강 기본자료형 - 논리관련 - boolean (0) | 2023.12.27 |
[JAVA강좌] 3강 기본자료형 - 정수관련 - byte, short, int, long (0) | 2023.12.13 |
[JAVA강좌] 2강 기본자료형 - 문자 : char (0) | 2023.12.13 |
[JAVA강좌] 1강 JAVA변수와 자료형 (0) | 2023.12.12 |