OpCodes.Conv_I2 Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit la valeur située en haut de la pile d'évaluation en int16
et l'étend (remplit) à int32
.
public: static initonly System::Reflection::Emit::OpCode Conv_I2;
public static readonly System.Reflection.Emit.OpCode Conv_I2;
staticval mutable Conv_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I2 As OpCode
Valeur de champ
Remarques
Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :
Format | Format d’assembly | Description |
---|---|---|
68 | conv.i2 | Convertissez en int16 , en push sur int32 la pile. |
Le comportement transitionnel de la pile, dans l’ordre séquentiel, est le suivant :
value
est poussé vers la pile.value
est extrait de la pile et l’opération de conversion est tentée.Si la conversion réussit, la valeur résultante est envoyée dans la pile.
L’opcode conv.i2
convertit le value
en haut de la pile en type spécifié dans l’opcode, et laisse cette valeur convertie en haut de la pile. Les valeurs entières inférieures à 4 octets sont étendues à int32
lorsqu’elles sont chargées sur la pile d’évaluation (sauf si conv.i
ou conv.u
est utilisé, auquel cas le résultat est également native int
). Les valeurs à virgule flottante sont converties en F
type .
La conversion de nombres à virgule flottante en valeurs entières tronque le nombre vers zéro. Lors de la conversion d’un float64
en , float32
la précision peut être perdue. Si value
est trop grand pour tenir dans un float32 (F)
, l’infini positif (si value
est positif) ou l’infini négatif (si value
est négatif) est retourné. Si un dépassement de capacité se produit lors de la conversion d’un type entier en un autre, les bits d’ordre élevé sont tronqués. Si le résultat est inférieur à un int32
, la valeur est étendue par signe pour remplir l’emplacement.
Si un dépassement de capacité se produit lors de la conversion d’un type à virgule flottante en entier, la valeur retournée n’est pas spécifiée.
Aucune exception n’est jamais levée lors de l’utilisation de ce champ. Consultez Conv_Ovf_I2 et Conv_Ovf_I2_Un pour obtenir des instructions équivalentes qui lèveront une exception lorsque le type de résultat ne peut pas représenter correctement la valeur du résultat.
La surcharge de méthode suivante Emit peut utiliser l’opcode conv.i2
: