Inflearn Community Q&A
변수 숫자 표현 범위_long, double
Written on
·
200
·
Edited
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)네
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네
[질문 내용]
[김영한의 자바 입문] 강의 중 [형변환 1-자동형변환] 수강 중 질문이 있습니다. 1:25에 숫자 표현 범위가 long보다는 double이 크다고 하셨습니다.
하지만 이전 변수 타입 강의 때, long과 double 모두 2의 64승 만큼의 메모리 크기를 가진다고 배웠습니다. 메모리 크기가 같은데 왜 long보다 double의 숫자 표현 범위가 더 큰지 궁금합니다. double이 실수형이라 소수점까지 표현이 가능하기 때문인가요?
Quiz
Where can local variables be used?
Entire program
only within the code block where the variable is declared
only in main method
freely in any method
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. abd님, 질문 주셔서 감사합니다.
long과 double은 모두 8바이트(64비트)를 사용하지만, 그 사용 방식 덕분에 각기 다른 숫자 범위를 가집니다. long은 정수 타입으로, -2^63부터 2^63-1까지의 정수를 정확하게 표현할 수 있습니다. 반면, double은 부동소수점(floating-point) 방식으로 실수를 표현하기 때문에 훨씬 더 넓은 범위를 커버할 수 있습니다. 이는 매우 큰 값뿐만 아니라 매우 작은 값도 표현 가능함을 의미합니다. 예를 들어, 1.7 * 10^-308부터 1.7 * 10^308까지의 실수를 표현할 수 있습니다.
부동소수점 방식의 특징 덕에 실수 계산에 편리하지만, 성능 문제나 정밀도 손실이 발생할 수 있음을 염두에 두어야 합니다. double의 숫자 표현 범위가 큰 이유는 바로 이런 부동소수점 방식 때문인데, 이로 인해 다양한 숫자를 표현할 수 있게 됩니다.
더 많은 정보는 다음의 유사한 질문을 참고하시면 도움이 될 것입니다:
- Integer사용 시 한번돈다는 내용이 궁금합니다
- long을사용하는 이유
- 엔터티의 멤버변수 타입에 대해 질문이 있습니다.!!
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





