티스토리 뷰

C#에서 사용되는 기본 자료형

 

C#에서 사용되는 자료형들의 크기에 대해 확인해보려한다. 이 크기는 일반적인 경우이며, 특정 플랫폼이나 컴파일러에 따라 다를 수 있다. 아래의 크기는 보통의 경우를 기준으로 한다. sizeof연산자나 Marshal.SizeOf 메서드를 사용하여 크기를 확인할 수 있다.

 

명칭 크기 범위
bool 1 byte 1 bit
(컴퓨터 구조상 1bit 단위로 사용하지 않기에 8 bit 사용)
true (1), false (0)
byte 1 byte 8 bit 0 ~ 255
sbyte 1 byte 8 bit -128 ~ 127
short 2 byte 16 bit -32,768 ~ 32,767
ushort 2 byte 16 bit 0 ~ 65,535
int 4 byte 32 bit -2,147,483,648 ~
2,147,483,647
uint 4 byte 32 bit 0 ~ 4,294,967,295
long 8 byte 64 bit -9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
ulong 8 byte 64 bit 0 ~ 18,446,744,073,709,551,615
float 4 byte 32 bit ±1.5 x 10^-45 ~ ±3.4 x 10^38

-3.4028235E+38 ~ 3.4028235E+38
double 8 byte 64 bit ±5.0 x 10^-324 ~ ±1.7 x 10^308

4.94065645841247E-324 ~
1.79769313486232E+308
char 2 byte 16 bit 유니코드 문자 집합의 모든 유효 코드
0 ~ 65535
decimal 16 byte 128 bit -7.9 x 10^28 ~ 7.9 x 10^28

-79,228,162,514,264,337,593,543,950,335 ~
79,228,162,514,264,337,593,543,950,335
enum 4 byte
(특정 값 지정에 따라 조정)
32 bit  
struct 멤버 변수에 따라 결정
변수들을 합한 값에 패딩값 추가 가능성 있음
   
class 4 byte (32bit platform)
8 byte (64bit platform)
실제 객체는 힙 메모리에 할당
   
interface    
delegate    

 

위 표에서 double이 decimal보다 더 큰 수를 수용하는 것을 확인할 수 있다.

decimal은 특정 기간에서 사용하기 위해 특별히 생성된 자료형으로 ulong보다도 훨씬 넓은 범위의 정수를 컨트롤할 수 있다. 또한 double은 일정 수 이상에 대한 정확도가 떨어지는 반면 decimal은 훨씬 더 높은 정확도를 제공한다.

최근에 올라온 글
최근에 달린 댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함