'형변환'에 해당되는 글 2건

Programming/.NET

 1. 암시적 형변환(Implicit conversion)

 

short s = 100;
int i = s;

 

위 코드에서는 short형의 변수를 int형 변수에 대입하고 있습니다. int형 변수는 short타입의 변수보다 담을 수 있는 값의 범위가 더 크므로 이런 경우에는 전혀 문제되지 않고 정상적으로 형변환을 수행합니다. 이렇게 명시적이지 않고 자연스럽게 형변환이 이루어 지는 것을 암시적 형변환이라고 합니다.

 

 2. 명시적 형변환(Explicit conversion)

 

int i = 100;

short s = i;

 

int형 변수를 short형 변수에 대입하려고 시도하고 있습니다. short형 데이터타입은 int형 보다는 담을 수 있는 값의 범위가 더 작으므로 실제 위 코드를 컴파일하면 암시적 형변환을 수행할 수 없다는 오류를 내고 컴파일이 중단됩니다.

 

error CS0266: Cannot implicitly convert type 'int' to 'short'. An explicit conversion exists (are you missing a cast?)

 

이런경우에는 다음과 같이 형을 변환할 타입을 지정해 명시적 형변환을 수행해야 합니다.

 

int i = 100;
short s = (short)i;

 

하지만 명시적 형변환이라 하더라도 실제 형변환을 수행하고자 하는 대상에 비해 가지고 있는 값이 너무 큰 경우에는 오류를 발생시키게 됩니다. 위 예제가 정상적인 컴파일이 가능한 이유는 100이라는 값은 여전히 short형 변수에 담겨질 수 있는 크기의 값이기 때문입니다.

'Programming > .NET' 카테고리의 다른 글

[C#] 확장 메서드(Extension Method) - 2  (0) 2017.08.16
[C#] ?? 연산자  (0) 2017.08.10
[C#] 형변환(캐스팅 - Casting)  (0) 2017.08.01
[C#] 이벤트(event)  (0) 2017.07.26
[C#] Directory 와 DirectoryInfo 클래스  (0) 2017.07.19
[Visual Studio] Immediate Window  (0) 2017.07.12
0 0
Programming/C C++
C++ 에서 형변환은 다음과 같이 이루어 집니다.
int i = 100;

float f = (float)i;
특정 데이터를 괄호를 통해 변환하고자 하는 데이터형으로 지정하면 됩니다.

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

[Visual C++] 연산자  (0) 2012.07.03
[Visual C++] 흐름제어  (0) 2012.07.02
[Visual C++] 형변환  (0) 2012.06.29
[Visual C++] 나열형(enum)  (0) 2012.06.28
[Visual C++] 상수  (0) 2012.06.27
[Visual C++] 자료형  (2) 2012.06.26
0 0
1
블로그 이미지

클리엘