OpCodes.Conv_R_Un Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразование целочисленного значения без знака на вершине стека вычислений в 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
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:
| Формат | Формат сборки | Описание |
|---|---|---|
| 76 | conv.r.un | Преобразование целого числа без знака в число с плавающей запятой при отправке F в стек. |
Переходный режим стека в последовательном порядке:
valueпомещается в стек.valueизвлекается из стека, и выполняется попытка преобразования.Если преобразование выполнено успешно, полученное значение помещается в стек.
Код conv.r.un операции преобразует value в верхней части стека тип, указанный в коде операции, и оставляет преобразованное значение в верхней части стека. Целочисленные значения менее 4 байт расширяются до int32 при их загрузке в стек вычислений (если conv.i не используется или conv.u , в этом случае результатом также native intявляется ). Значения с плавающей запятой преобразуются в F тип .
Преобразование чисел с плавающей запятой в целочисленные значения усекает число до нуля. При преобразовании из в float64float32точность может быть потеряна. Если value значение слишком велико, чтобы поместиться в float32 (F), возвращается положительная бесконечность (если value является положительной) или отрицательная бесконечность (если value является отрицательной). Если происходит переполнение при преобразовании одного целочисленного типа в другой, биты высокого порядка усекаются. Если результат меньше int32, значение расширяется для заполнения слота.
Если происходит переполнение при преобразовании типа с плавающей запятой в целое result число, возвращаемое значение не указано. Операция conv.r.un принимает целое число из стека, интерпретирует его как неподписанный и заменяет его числом с плавающей запятой для представления целого числа: , float32если это достаточно широкое, чтобы представить целое число без потери точности, или в противном случае float64— .
При использовании этого поля не возникает никаких исключений.
Emit Следующая перегрузка conv.r.un метода может использовать код операции: