C# - 숫자 타입

2025. 6. 14. 17:42Programming Language/C#

반응형

기본적으로 프로그래밍 언어에 대해서 배운적이 있기에 변수가 뭐고 이런점에 대해서는 설명하지 않기로 하겠다.

 

C#에서의 기본적인 타입에 대해서 확인하면서 간단하게 C#의 코딩 스타일에 대해서 알아보자.

 

C#의 타입 선언 방식

C#에서는 타입을 선언하는 방식이 두가지가 있다.

정식 타입으로 .NET 런타입(CLR)이 인식하는 .NET BCL(Base Class Library)안에 정의된 구조체의 형태들과 이의 Alias 타입으로 구분될 수 있다.

 

예를 들면 

System.Int32 num = 10;

// System.Int32의 alias의 역할을 하는 
int num1 = 20;

 

이렇게 선언하는 방식이 있다.

(정의에 대한 설명이 명확하지 않아 사실과 다른 부분이 있을 수 있으나 사용 방식에 대해서만 일단 확인한다는 생각으로 읽어주길 바란다.)

 

각각에 매칭되는 타입에 대해서 아래 정리 작성해둘 테니 확인해보도록 하자.

더보기
C# 키워드 .NET 타입 ( 정식 타입 명 )
byte System.SByte
ushort System.UInt16
uint System.UInt32
ulong System.UInt64
sbyte System.Byte
short System.Int16
int System.Int32
long System.Int64
float System.Single
double System.Double
decimal System.Decimal

 

추가적으로 string이나 object 같은건 같이 알아보면서 확인보도록 하자

일단은 숫자 타입에 대해서면 작성해봤으니 참고하도록 하자

 

1. 정수 타입

정수타입은 우선 부호가 있는 타입과 부호가 없는 타입으로 분리된다.

 

부호가 있는 타입은 아래와 같은 타입이고

  • SByte
  • short 
  • int 
  • long 

부호가 없는 타입은 아래와 같은 타입이다.

  • byte
  • ushort
  • uint
  • ulong

이에 대해서 특별한점은 없고 타입을 알아보면서 확인할 상수 두가지 정도만 알아보면 될듯하다.

 

타입의 최대값을 확인하는 정적 상수 : MaxValue

타입의 최소값을 확인하는 정적 상수 : MinValue

 

두 정적 상수를 통해서 각각의 타입에 할당이 가능한 최대값과 최소값의 확인이 가능하다.

 

2. 실수 타입

실수 타입에서 특이한 점은 decimal이한 타입이 있다는 것이다.

보통 float와 double을 가지고 있는데 이는 실수를 부동소수점을 사용해서 표현하는 타입으로 정말 정확한 실수의 값을 표현할 수가 없다.

 

예를 들면 아래와 같이 float 타입의 변수에 1 + 0.1을 넣고 이 값이 1.1과 동일한지를 확인하면 당연히 true가 나와야하는데 

 

false가 나온다.

 

이게 부동소수점의 특이한 점인데 이렇게 되면 정말 미세한 오차들이 존재하게 된다.

 

그러면 통화, 금융, 회계 계산과 같은 분야에서는 이런 오차들로 인해 큰 문제들이 발생할 수 있는데 C#에서는 이를 해결하기 위해서 decimal이라는 타입을 사용할 수 있다.

 

decimal은 고정 소수점 방식으로 높은 정밀도를 제공하는 실수형 타입으로 정확한 10진수의 표현을 목표로 설계된 타입이다.

 

float형의 경우는 값을 할당할때 후미에 F/f를 입력해서 변수에 float값을 저장할 수 있는것과 같이

decimal의 경우는 접미사로 M/m을 사용해서 변수에 decimal 값을 할당할 수 있게 된다.

위에서 float형을 비교했던것과 같이 한번 비교해보면

동일하다고 출력하는 것을 볼 수 있다.

 

이렇게 조금 특이한 타입인 decimal이란 타입이 존재한다는 것을 알아두자

실수형에선 이것 외에 다른 언어와 특이하게 다른점은 없는 듯 보인다.

 

# null을 저장할 수 있게 해주는 ?(Nullalbe type)

추가로 그냥 변수를 저장할때에 대해서 특이한 점에 대해서 보자면 C#에서는 어떤 타입도 null을 저장할 수 있게 해주는 Nullable Type을 만들수 있는 방법이 있다.

 

기본적으로 null을 넣을수 있는 타입이 있고 없는 타입이 있는데 

이렇게 예시로 int 형은 null을 할당할 수 없다.

 

여기에 null을 할당할 수 있도록 하려면 타입과 변수명 사이에 ?(물음표)를 넣어주면 된다.

 

이제 이 안에 진짜 null이 들어있는지 출력해보면

이렇게 null이 들어있음을 확인할 수 있다.

 

숫자 타입에 대해서는 이 정도로 확인하면 될듯 싶다 추가되는 내용이 있다면 나중에 추가로 알아보도록 하자

반응형

'Programming Language > C#' 카테고리의 다른 글

C# - 문자와 문자열 및 논리타입  (1) 2025.06.14
C# - Hello World  (0) 2025.06.14
C# - 시작  (0) 2025.06.09