Red de conocimientos sobre prescripción popular - Enciclopedia de Medicina Tradicional China - Supongamos que la variable A es un número entero, F es un tipo de número real e I es un tipo de doble precisión. ¿Cuál es el tipo de datos de la expresión 1'a'+i*f? Gracias.

Supongamos que la variable A es un número entero, F es un tipo de número real e I es un tipo de doble precisión. ¿Cuál es el tipo de datos de la expresión 1'a'+i*f? Gracias.

El resultado de la expresión es de tipo doble.

En lenguaje C, si los tipos de operandos involucrados son diferentes, primero se convierten al mismo tipo y luego se realiza la operación. Convierta en la dirección de aumentar la longitud de los datos para garantizar que no se pierda precisión.

Por lo tanto, en la expresión 1'a'+i*f, cuando 1'a ', el tipo de carácter 'a' se convertirá automáticamente al tipo entero cuando se opera con i*f , se convertirá automáticamente al tipo de doble precisión y el resultado de la expresión de 1'a'+i*f se convertirá automáticamente a.

Datos extendidos:

Reglas relacionadas con la conversión automática de tipos:

1. Todas las operaciones de punto flotante se realizan con doble precisión. Incluso las expresiones que contienen sólo aritmética de precisión simple en coma flotante deben convertirse a un tipo de precisión doble antes de la operación.

2. En la operación de asignación, cuando los tipos de datos de las cantidades en ambos lados del número de asignación son diferentes, el tipo de cantidad en el lado derecho del número de asignación se convertirá al tipo. de la cantidad de la izquierda. Si la longitud del tipo de datos de la cantidad derecha es mayor que la longitud del tipo de datos de la cantidad izquierda, parte de los datos se perderá, la precisión se reducirá y la parte perdida se descartará directamente.

3. Al realizar operaciones aritméticas, el tipo bajo (byte corto) se puede convertir en tipo alto (byte largo), por ejemplo, el tipo int se convierte en tipo doble, el tipo char se convierte en tipo int; etc.

Enciclopedia Baidu: conversión de tipo forzada