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 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 :
value
est poussé sur 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 à 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 , 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 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
: