728x90
300x250
실수형이란?
소수을 갖는 수를 저장하기 위한 자료형
float, double 2가지 타입이 있다.
float(4바이트), double(8바이트) 크기를 가지고 있다.
실수형은 부동 소수점 방식으로 실수를 지수부와 가수부로 표현한다. 무한의 실수를 표현하기 위한 방식이다.
예를들어서 2의 128승이면 2부분이 가수부이고 128부분이 제곱의 위치인 지수가 된다.
4바이트 이면 32비트로
맨첫번째는 부호비트 8비트는 지수부(지수) 가수부(실제 숫자를 나타내는 수)
// 예를 들어서 32비트이면 맨앞에 1칸은 부호비트로 음수와 양수를 판단하고 지수부분을 8비트, 가수부분은 나머지 32비트가 된다.
정확성은 long형보다 float가 떨어지지만 훨씬 더 float이 지수부가 있기 때문에 큰수를 표현할 수 있다.
실수는 기본적으로 double로 처리하는데
float형으로 실수를 표현할때는 숫자에 f, F를 붙여줘야한다.
ex)
package chapter01;
public class DoubleEx1 {
public static void main(String[] args) {
double dnum = 3.14;
float fnum = 3.14F;
System.out.pringln(dnum);
System.out.println(fnum);
}
}
double, float 형의 특성
지수와 가수로 표현하는 부동 소수 점은 0을 표현할 수 없기 때문에 우리가 예상하지 못한 뒷자리 소수점이 찍혀서 부정확하게 나온다.
public class test02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
double dnum=1;
for(int i=0; i<10000;i++) {
dnum+=0.1;//dnum=dnum+0.1;
}
System.out.println(dnum);
}
}
0.1을 계속 더해보면
1001.000000000159
이런식으로뒤에 예상치 못했던 소수점들이 나온다.
이미지는 규나미님 블로그 참조
728x90
반응형
'프로그래밍 > java' 카테고리의 다른 글
[JAVA] 자료형 없이 변수 사용하기 (0) | 2021.08.24 |
---|---|
boolean 논리형 자료형 (0) | 2021.08.23 |
문자 세트, 인코딩 (0) | 2021.08.20 |
JAVA:: 변수와 자료형 데이터 타입 (0) | 2021.08.19 |
[JAVA] 음의 정수 표현 (0) | 2021.08.18 |
댓글