Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 16비트 부호 없는 정수(ushort)를 10진수(decimal)로 암시적 변환하는 방법


ushort란 무엇인가?

C#의 ushort는 16비트 크기의 부호 없는 정수를 나타내는 데이터 형식입니다. 표현할 수 있는 값의 범위는 0부터 65,535까지이며, 음수 값은 저장할 수 없습니다.

ushort에서 decimal로의 암시적 변환

ushort 값을 decimal 형식으로 변환하는 것은 암시적 변환(implicit conversion)에 해당합니다. 이는 별도의 캐스팅 연산자 없이 단순히 값을 할당하는 것만으로 변환이 이루어진다는 의미입니다. ushort가 표현할 수 있는 모든 값은 decimal이 손실 없이 담을 수 있기 때문에, 컴파일러가 자동으로 형식을 변환해 줍니다.

먼저 ushort 변수에 값을 설정합니다.

ushort val = 193;

그다음, ushort 값을 decimal 변수에 할당하기만 하면 암시적 변환이 수행됩니다.

decimal dec;
dec = val;

전체 예제

다음 예제는 ushort 값을 decimal로 암시적으로 변환한 뒤 결과를 출력하는 전체 과정을 보여줍니다.

코드

using System;
public class Demo {
    public static void Main() {
        ushort val = 2567;
        decimal dec;
        Console.WriteLine("Implicit conversion from 16-bit unsigned integer to Decimal");
        dec = val;
        Console.WriteLine("Decimal = " + dec);
    }
}

실행 결과

Implicit conversion from 16-bit unsigned integer to Decimal
Decimal = 2567

이처럼 ushort에서 decimal로의 변환은 데이터 손실 위험이 없으므로 명시적 캐스팅 없이 안전하게 수행할 수 있습니다.