다음을 통해 공유


부호 있는 정수 계열 형식으로 변환

크기가 같거나 더 큰 부호 없는 정수를 부호 있는 정수로 변환 하 고 부호 있는 정수 값이 음수인 경우 값은 변경 되지 않습니다.부호 있는 정수의 부호 확장으로 변환이 수행 됩니다.부호 있는 정수는 상위 순서 비트 잘라 짧은 부호 있는 정수로 변환 됩니다.결과가이 예제와 같이 있는 부호 없는 값으로 해석 됩니다.

int i = -3;
unsigned short u;

u = i; 
printf_s( "%hu\n", u );  // Prints 65533 

부호 있는 정수를 부동 소수점 값으로 변환할 때 경우 약간의 정밀도 손실 될 수 있다를 제외 하 고 정보가 손실 되는 long int 또는 부호 없는 long int 값으로 변환는 float 값입니다.

다음 표에서 부호 있는 정수 계열 형식으로 변환 합니다.이 테이블에 있다고 가정은 char 형식은 기본적으로 서명 됩니다.컴파일 시간 옵션을 사용 하 여 기본값을 변경 하려면 경우는 char 입력 합니다 부호 없는 변환의 부호 없는 정수 계열 형식으로 변환 에 대 한 표는 unsigned char 형식을 적용 하는 변환은 다음 표의 부호 있는 정수 계열 형식으로 변환 하는 대신.

부호 있는 정수 계열 형식으로 변환

From

To

메서드

char1

short

부호 확장

char

long

부호 확장

char

unsigned char

패턴을 유지 합니다. 상위 비트가 부호 비트로 기능 상실

char

unsigned short

기호를 확장 짧은. 변환 짧은부호 없는 short

char

unsigned long

기호를 확장 . 변환 에unsigned long

char

float

기호를 확장 . 변환 부동 소수점

char

double

기호를 확장 . 변환 이중

char

long double

기호를 확장 . 변환 이중

short

char

하위 바이트를 유지 합니다.

short

long

부호 확장

short

unsigned char

하위 바이트를 유지 합니다.

short

unsigned short

비트 패턴을 유지 합니다. 상위 비트가 부호 비트로 기능 상실

short

unsigned long

기호를 확장 . 변환 에unsigned long

short

float

기호를 확장 . 변환 부동 소수점

short

double

기호를 확장 . 변환 이중

short

long double

기호를 확장 . 변환 이중

long

char

하위 바이트를 유지 합니다.

long

short

낮은 순서 단어를 유지 합니다.

long

unsigned char

하위 바이트를 유지 합니다.

long

unsigned short

낮은 순서 단어를 유지 합니다.

long

unsigned long

비트 패턴을 유지 합니다. 상위 비트가 부호 비트로 기능 상실

long

float

로 서를 나타냅니다 부동 소수점.경우 수 없습니다 정확 하 게 표현에서 약간의 정밀도 손실 됩니다.

long

double

로 서를 나타냅니다 이중.경우 로 정확 하 게 표현할 수 없는 이중, 약간의 정밀도 손실 됩니다.

long

long double

로 서를 나타냅니다 이중.경우 로 정확 하 게 표현할 수 없는 이중, 약간의 정밀도 손실 됩니다.

1.모든 char 항목으로 간주의 char 형식은 기본적으로 서명 됩니다.

Microsoft 전용

Microsoft 32 비트 C 컴파일러에 대 한 정수에 해당 하는 것은 .변환 하는 int 값의 계속 해 서는 .

Microsoft 특정 끝

참고 항목

개념

변환은 할당