OpCodes.Conv_I1 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 int8
y luego lo extiende (lo rellena) hasta int32
.
public: static initonly System::Reflection::Emit::OpCode Conv_I1;
public static readonly System.Reflection.Emit.OpCode Conv_I1;
staticval mutable Conv_I1 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I1 As OpCode
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal y del lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
67 | conv.i1 | Convierta en int8 , insertando int32 en la pila. |
El comportamiento transitorio de la 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.i1
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 , se devuelve un float32 (F)
infinito positivo (si value
es positivo) o infinito negativo (si value
es negativo). Si el desbordamiento se produce al convertir un tipo entero en otro, se truncan los bits de orden superior. Si el resultado es menor que , int32
el valor se extiende por 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_I1 y Conv_Ovf_I1_Un para obtener instrucciones equivalentes que producirán una excepción cuando el tipo de resultado no pueda representar correctamente el valor del resultado.
La sobrecarga del método siguiente Emit puede usar el conv.i1
código de operación: