OpCodes.Conv_R_Un Champ

Définition

Convertit la valeur entière non signée située en haut de la pile d'évaluation 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 

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
76 conv.r.un Convertissez un entier non signé en virgule flottante, en F poussant sur la pile.

Le comportement transitoire de la pile, dans l’ordre séquentiel, est le suivant :

  1. value est poussé sur la pile.

  2. value est extrait de la pile et l’opération de conversion est tentée.

  3. Si la conversion réussit, la valeur résultante est envoyée à la pile.

L’opcode conv.r.un 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ée, 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 , float32la 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 authentification étendue pour remplir l’emplacement.

Si un dépassement de capacité se produit en convertissant 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 le remplace par un nombre à virgule flottante pour représenter l’entier : soit un float32, si celui-ci est suffisamment large pour représenter l’entier sans perte de précision, soit 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 :

S’applique à