OpCodes.Conv_R_Un Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Convierte el valor entero sin signo situado en la parte superior de la pila de evaluación en float32
.
public: static initonly System::Reflection::Emit::OpCode Conv_R_Un;
public static readonly System.Reflection.Emit.OpCode Conv_R_Un;
staticval mutable Conv_R_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_R_Un As OpCode
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal y lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
76 | conv.r.un | Convierta entero sin signo en punto flotante y inserte F en la pila. |
El comportamiento de transición de pila, en orden secuencial, es:
value
se inserta en la pila.value
se extrae de la pila y se intenta realizar la operación de conversión.Si la conversión se realiza correctamente, el valor resultante se inserta en la pila.
El conv.r.un
código de operación convierte la value
parte superior de la pila en el tipo especificado en el código de operación y deja ese valor convertido en la parte superior de la pila. Los valores enteros de menos de 4 bytes se extienden a int32
cuando se cargan en la pila de evaluación (a menos conv.i
que se use o conv.u
, en cuyo caso el resultado también native int
sea ). Los valores de punto flotante se convierten en el F
tipo .
La conversión de números de punto flotante a valores enteros trunca el número hacia cero. Al convertir de a float64
a float32
, se puede perder la precisión. Si value
es demasiado grande para caber en un float32 (F)
infinito positivo (si value
es positivo) o infinito negativo (si value
es negativo) se devuelve. Si el desbordamiento se produce al convertir un tipo entero en otro, los bits de orden alto se truncan. Si el resultado es menor que , int32
el valor se extiende con signo para rellenar la ranura.
Si el desbordamiento se produce al convertir un tipo de punto flotante en un entero, no se especifica el result
valor devuelto. La conv.r.un
operación quita un entero de la pila, lo interpreta como sin signo y lo reemplaza por un número de punto flotante para representar el entero: float32
, si es lo suficientemente ancho como para representar el entero sin pérdida de precisión, o bien un float64
.
No se produce ninguna excepción al usar este campo.
La sobrecarga del método siguiente Emit puede usar el conv.r.un
código de operación: