본문 바로가기
C#

크기가 서로 다른 정수 형식 사이의 변환

by JAESEONG LEE- developer 2022. 7. 15.

IntegralConversion 88p

 

크기가 서로 다른 정수 형식 사이의 변환에서는 작은 정수 형식의 변수에 있는 데이터를 큰 정수 형식의 변수로 옮길 때는 문제가 없지만, 그 반대의 경우, 원본 변수의 데이터가 형식 변환하려는 대상 변수의 용량보다 큰 경우에는 오버플로우가 발생합니다. 

 

다음 예제 프로그램은 1바이트 크기의 sbyte 형식과 4바이트 크기의 int 형식 사이의 형식 변환 예제입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
 
namespace IntegralConversion
{
    class MainApp
    {
        static void Main(string[] args)
        {
            sbyte a = 127;
            Console.WriteLine(a);
 
            int b = (int)a;
            Console.WriteLine(b);
 
            int x = 128// sbyte의 최대값 127보다 1 큰 수
            Console.WriteLine(x);
 
            sbyte y = (sbyte)x;
            Console.WriteLine(y);
 
        }
    }
}
cs

 

 

 

이러한 실행 결과가 나타납니다.