OpCodes.Conv_R_Un 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 entière non signée en haut de la pile float32d’évaluation en .
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
Valeur de champ
Remarques
Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :
| Format | Format d’assembly | Description |
|---|---|---|
| 76 | conv.r.un | Convertissez un entier non signé en virgule flottante, en push sur F la pile. |
Le comportement transitionnel de la pile, dans l’ordre séquentiel, est :
valueest poussé sur la pile.valueest sorti de la pile et l’opération de conversion est tentée.Si la conversion réussit, la valeur résultante est envoyée (push) sur la pile.
L’opcode conv.r.un convertit la value valeur en haut de la pile en type spécifié dans l’opcode et conserve cette valeur convertie en haut de la pile. Les valeurs entières de moins de 4 octets sont étendues au int32 moment où elles sont chargées sur la pile d’évaluation (sauf si conv.i elles conv.u sont utilisées, 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 un float32, la précision peut être perdue. S’il value est trop grand pour s’adapter à un float32 (F)infini positif (s’il value est positif) ou à l’infini négatif (s’il value est négatif) est retourné. Si le 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 pour remplir l’emplacement.
Si le dépassement de capacité se produit lors de la conversion d’un type à virgule flottante en entier, le result retour n’est pas spécifié. L’opération conv.r.un supprime un entier de la pile, l’interprète comme non signé et la remplace par un nombre à virgule flottante pour représenter l’entier : soit un float32, s’il est suffisamment large pour représenter l’entier sans perte de précision, ou bien un float64.
Aucune exception n’est levée lors de l’utilisation de ce champ.
La surcharge de méthode suivante Emit peut utiliser l’opcode conv.r.un :