float와 int의 표현 가능한 수의 범위가 다른 이유는 무엇인가요?
float와 int의 자료형(데이터 타입)이 다릅니다.
float는 소수점까지 표현할 수 있는 실수형이고,
int는 소수점이 없는 숫자까지만 표현이 가능한 정수형 이기 때문입니다.
float와 int는 모두 4byte (32bit)로 동일한 경우의 수를 가지고 있다고 할때
두 자료형을 구성하는 bit의 구조가 다른데에서 기인합니다.
int는 +,- 즉 부호 와 지수를 표현하기 만 한다면
float는 (지수 + 부호) 소수점이하인 유효자리 까지 표현 해줍니다.
그로인해
int는 표현할 수 있는 범위 내에선 정확도가 100%지만
float는 0에서 멀어질 수록 정밀도가 떨어지고 값을 잘라 먹습니다.
그럴때 대처 방안으로는 float를 대신하는 double을 사용하면 됩니다.
반응형
'Today I Learned' 카테고리의 다른 글
[내일배움캠프] 실전 프로젝트 - Queue를 활용한 오브젝트 풀링 (0) | 2024.01.15 |
---|---|
[내일배움캠프] 실전 프로젝트 - AnimationCurve (0) | 2024.01.13 |
[내일배움캠프] 실전 프로젝트 - 게임 메카닉 (0) | 2024.01.10 |
[내일배움캠프] Unity 게임 개발 심화 - 마무리 회고 (0) | 2024.01.09 |
[내일배움캠프] Unity 게임 개발 심화 - 팀 프로젝트 제출 (0) | 2024.01.08 |