현재 진행 중인 프로젝트안에서 Byte 단위로 데이터를 핸들링하는 작업을 하다보니 자료형의 크기와 범위가 정확히 기억이 나지않아 계산에 어려움이 있었다.
다시한번 자료형의 크기를 정리하며 상기하는 시간을 가져보자.
C# 및 .NET 타입별 메모리의 크기와 표현 범위.
※ 1 Byte = 8 Bit
- 고정소수점
byte | System.byte | 0 ~ 255 | |
Byte | System.Byte | 0 ~ 255 | |
sbyte | System.sbyte | -128 ~ 127 | |
sByte | System.sByte | -128 ~ 127 | |
short | System.Int16 | –32,768 ~ 32,767 | |
Int16 | System.Int16 | –32,768 ~ 32,767 | |
ushort | System.UInt16 | 0 ~ 65,535 | |
UInt16 | System.UInt16 | 0 ~ 65,535 | |
Int | System.Int32 | –2,147,483,648 ~ 2,147,483,647 | |
Int32 | System.Int32 | –2,147,483,648 ~ 2,147,483,647 | |
uint | System.UInt32 | 0 ~ 4,294,967,295 | |
UInt32 | System.UInt32 | 0 ~ 4,294,967,295 | |
long | System.Int64 | –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
Int64 | System.Int64 | –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
ulong | System.UInt64 | 0 ~ 18,446,744,073,709,551,615 | |
UInt64 | System.UInt64 | 0 ~ 18,446,744,073,709,551,615 |
- 부동소수점
float | System.Single | 1.5E-45 ~ 3.4E+38(7자리 유효) | |
Single | System.Single | 1.5E-45 ~ 3.4E+38(7자리 유효) | |
double | System.Double | 5.0E-324 ~ 1.7E+308(15자리 유효) | |
Double | System.Double | 5.0E-324 ~ 1.7E+308(15자리 유효) | |
decimal | System.Decimal | 7.9E-28 ~ 7.9E+28(28자리 유효) | |
Decimal | System.Decimal | 7.9E-28 ~ 7.9E+28(28자리 유효) |
- 문자 및 문자열
char | System.Char | UTF-16 | |
Char | System.Char | UTF-16 | |
string | System.String | UTF-16 | |
String | System.String | UTF-16 |