Conversiones de tipos de punto flotante

Un valor de Hacer flotante convertido a Doble o a long double, o Doble convertido a long double, no realiza ningún cambio de valor.Un valor de Doble convierte a un valor de Hacer flotante se representa exactamente, si es posible.La precisión se pierden si el valor no se puede representar correcta.Si el resultado está fuera del intervalo, el comportamiento es indefinido.Vea Límites en constantes de punto flotante para el intervalo de tipos de punto flotante.

Un valor flotante se convierte a un valor entero primero a convertir en Más, después del valor de Más al valor entero concreto.Descartan a la parte decimal de valor flotante en la conversión a Más.Si el resultado es demasiado grande caber en Más, el resultado de la conversión es indefinido.

Específicos de Microsoft

Al convertir un número de punto flotante de Doble o de long double en un número de punto flotante menor, el valor de la variable de punto flotante se trunca hacia cero cuando un subdesbordamiento aparece.un desbordamiento produce un error en tiempo de ejecución.Observe que Microsoft C asigna long double para escribir Doble.

Específico de Microsoft de FINAL

La tabla siguiente se resumen las conversiones de tipos de punto flotante.

conversiones de tipos de punto flotante

From

Para

Método

float

char

Convierte en Más; convierte Más a char

float

short

Convierte en Más; convierte Más a Corto

float

long

trunque en el separador decimal.Si el resultado es demasiado grande para representarlo como Más, el resultado es indefinido.

float

unsigned short

Convierte en Más; convierte Más a unsigned Corto

float

unsigned long

Convierte en Más; convierte Más a unsigned Más

float

double

Representación interna de cambio

float

long double

Representación interna de cambio

double

char

Convierte en Hacer flotante; convierte Hacer flotante a char

double

short

Convierte en Hacer flotante; convierte Hacer flotante a Corto

double

long

trunque en el separador decimal.Si el resultado es demasiado grande para representarlo como Más, el resultado es indefinido.

double

unsigned short

Convierte en Más; convierte Más a unsigned short

double

unsigned long

Convierte en Más; convierte Más a unsigned Más

double

float

Representa como Hacer flotante.si el valor de Doble no se puede representar exactamente como Hacer flotante, la pérdida de precisión aparece.Si el valor es demasiado grande para representarlo como Hacer flotante, el resultado es indefinido.

long double

char

Convierte en Hacer flotante; convierte Hacer flotante a char

long double

short

Convierte en Hacer flotante; convierte Hacer flotante a Corto

long double

long

trunque en el separador decimal.Si el resultado es demasiado grande para representarlo como Más, el resultado es indefinido.

long double

unsigned short

Convierte en Más; convierte Más a unsigned Corto

long double

unsigned long

Convierte en Más; convierte Más a unsigned Más

long double

float

Representa como Hacer flotante.si el valor de Doble no se puede representar exactamente como Hacer flotante, la pérdida de precisión aparece.Si el valor es demasiado grande para representarlo como Hacer flotante, el resultado es indefinido.

long double

double

el valor de MásDoble se trata como Doble.

Las conversiones de Hacer flotante, de Doble, o valores de long double a unsigned long no son precisas si el valor que se está convirtiendo es mayor que el valor positivo máximo de Más .

Vea también

Conceptos

Conversiones de asignación