[Java] float 와 double
조회수 1162회
저는 Java에서 기본적으로 실수형을 저장할때 double을 사용하였습니다.
그런데 실수형을 저장하는 변수타입은 float 와 double이 있는데
double은 초기화시에 바로 입력해주면 됩니다.
double a = 1.5;
이런식으로요.
그런데 float의 경우
float b = 1.5f;
이런식으로 입력을 해주어야 합니다.
그렇다면 실제로는 double이 더 사용하기에도 좋은데,
float는 왜 사용하는거죠?
애초에 할당되는 크기가 작기 때문에 그런 점을 중요시하거나 할때 사용하는 건가요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
double 은 8바이트짜리 대형 자료형입니다. 1.5를 저장하는데 double 을 사용한다는건 메모리 낭비겠죠.
마찬가지로 정수형 자료형도 int long 가 각각 있습니다.
jvm 관점에서도 8바이트 자료형들은 4바이트로 되어 있는 스택공간 2개를 차지합니다. 즉 연산을 더 해야할 것 이므로 단순히 메모리 사용량외에도 성능에도 문제가 될 수 있습니다.
System.out.println("byte: " + Byte.BYTES); System.out.println("char: " + Character.BYTES); System.out.println("int: " + Integer.BYTES); System.out.println("long: " + Long.BYTES); System.out.println("short: " + Short.BYTES); System.out.println("double: " + Double.BYTES); System.out.println("float: " + Float.BYTES); byte: 1 char: 2 int: 4 long: 8 short: 2 double: 8 float: 4
댓글 입력