OpCodes.Conv_U2 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 que se encuentra en la parte superior de la pila de evaluación en unsigned int16
y lo extiende hasta int32
.
public: static initonly System::Reflection::Emit::OpCode Conv_U2;
public static readonly System.Reflection.Emit.OpCode Conv_U2;
staticval mutable Conv_U2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_U2 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 |
---|---|---|
D1 | conv.u2 | Convierta en int16 , insertando int32 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.u2
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
, 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 valor devuelto.
No se produce ninguna excepción al usar este campo. Vea Conv_Ovf_I2 y Conv_Ovf_I2_Un para obtener instrucciones equivalentes que producirán una excepción cuando el tipo de resultado no pueda representar correctamente el valor de resultado.
La sobrecarga del método siguiente Emit puede usar el conv.u2
código de operación: