개발 노트

C# 자료형 본문

프로그래밍/C#

C# 자료형

알 수 없는 사용자 2024. 1. 24. 00:13

C#에 제공하는 자료형은 크게 4가지로 분류 할 수 있다.

 

1. 정수형

자료형 크기 표현 가능 범위
sbyte 부호 있는 8비트 정수 -128~127
byte 부호 없는 8비트 정수 0~255
short 부호 있는 16비트 정수 -32,768~32767
ushort 부호 없는 16비트 정수 0~65,535
int 부호 있는 32비트 정수 -2,147,483,648~2,147,483,647
uint 부호 없는 32비트 정수 0~4,294,967,295
long 부호 있는 64비트 정수 -9,223,372,036,854,775,808~
9,223,372,036,854,775,807
ulong 부호 없는 64비트 정수 0~18,446,744,073,709,551,615

다양한 자료형이 존재하는 이유는 각각의 자료형마다 차지하는 메모리의 크기가 다르기 떄문이다. 어떠한 프로그램을 만들 때 그에 합당한 메모리에 맞는 자료형으로 구성해야 하는데 만든 프로그램에 비해 비교적 short나 그 이상의 자료형을 사용하게 된다면 불필요한 메모리의 낭비가 발생한다. 또한 프로그램의 크기가 커질수록 속도와 관리 측면에서 어려움이 발생할 수 있다. 따라서 알맞은 자료형을 선택하여 프로그램을 좀 더 가볍고 빠르게 만들기가 가능하다.

 

2.실수형 

자료형 크기 표현 가능 범위
float 32비트 (4바이트) -3,402823e38~3.402823e38
double 64비트 (8바이트) -1.79769313486232e308~
1.79769313486232e308
decimal 128비트 (16비트) +-1.0 x 10e-28to+-7.9228 x 10e28

실수형은 특성상 정확한 수의 표현이 아닌 근사치를 표현한다. 소수점 이하의 모든 수를 다 표현하는 것은 대부분 비효율적이기 때문이다. 이러한 이유로 실수형 자료는 아주 작지만 오차범위가 존재하게 된다. 단 한치의 오차도 소수의 오차범위를 허용 할 수 없는 경우라면 decimal을 선택한다. 단, decimal의 경우 모든 숫자형 자료 중에서 가장 느린 연산 속도를 가진 단점이 있다.

 

3.문자(열)형

자료형 크기 표현 가능 범위
char 유니코드 16bit (2바이트) U+0000 to U+FFFF
string 유니코드 16bit 조합  1,073,741,823개 문자의 나열

유니코드는 하나의 문자를 표현하기 위해 2바이트를 사용한다. 그리고 string은 정수형(int)이 허용하는 최대치까지 문자를 표현할 수 있으므로, string의 이론적인 한계는 1,073,741,823개 문자의 나열이다.

 

4.부울린형

자료형 크기 표현 가능 범위
bool 8비트 (1바이트) '참(true)' 혹은 '거짓(false)'

오직 참과 거짓만을 따져야 하는 경우, 부울린형을 사용하는 것이 바람직하다. 메모리를 적게 사용하는 장점과 함께 논리를 단순화 할 수 있기 때문이다.

'프로그래밍 > C#' 카테고리의 다른 글

알람 작업  (0) 2024.01.31
C# 기초 문법 정리  (0) 2024.01.24
바이너리파일 공부하기  (0) 2022.04.22
베어테일분석하기  (0) 2022.04.21
datagridview pageup pagedown 10칸씩 움직이기  (0) 2022.04.18