💡 자료형 - int와 float
🍦 Int
- int는 정수를 표현하는 자료형으로, 4바이트의 크기를 갖는다.
- 표현 범위 : -2,147,483,648~+2,147,483,647 (약 21억)
- uint
- int 자료형에서 맨 앞의 부호 비트까지 사용하여 수를 표현하는 자료형
- 표현 범위 : 0~4,294,967,295 (약 42억)
🍧 float
- float는 실수를 표현하는 자료형으로, 4바이트의 크기를 갖는다.
- C#에서는 숫자 뒤에 f를 붙여서 표기한다.
예 : 2f
- 표현 범위 : ±1.5 x 10^(−45) ~ ±3.4 x 10^38
- 부호 비트 + 지수 비트 + 유효 자리 비트로 구성되어 수를 표현하는 부동소수점 방식을 사용한다.
- 부동소수점 : 실수를 가수부와 지수부로 나누어 표현하는 방식
- 고정소수점 방식은 표현할 수 있는 값의 범위가 매우 적다는 단점이 있기 때문에 부동소수점 방식을 사용한다.
🍨 int vs float
- float는 부동소수점 방식을 사용하여 수를 표현하기 때문에, 같은 4바이트 크기를 갖는 int보다 훨씬 더 큰 수를 표현할 수 있다.
- 그렇다면 더 큰 수를 표현할 수 있는 float가 무조건적으로 좋은 것일까?
- 큰 범위의 숫자를 표현할 수 있지만, 부동소수점 방식에 의한 오차가 존재한다.
-> 컴퓨터의 메모리는 한정적이기 때문에 실수의 소숫점을 표현할 수 있는 수의 제한이 존재
-> 무한 소수같은 수를 모두 표현할 수 없음
- double의 경우에도 더 많은 비트를 할당함으로써 오차가 발생할 확률이 줄어들 뿐, 100% 정확한 값은 아니다!
출처 - C# 기본 자료형 종류와 범위, 크기
출처 - 실수의 비트 표현 방법
출처 - 컴퓨터에서 실수의 표현
출처 - 실수 표현(부동소수점) 원리 한눈에 이해하기
출처 - 같은 4byte int와 float의 차이
기술 면접 대비 int와 float에 대하여 다시 정리해보았다!
끗~!