OpCodes.Conv_I8 Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует верхнее значение в стеке вычислений в тип int64
.
public: static initonly System::Reflection::Emit::OpCode Conv_I8;
public static readonly System.Reflection.Emit.OpCode Conv_I8;
staticval mutable Conv_I8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I8 As OpCode
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки msil, а также краткий обзор:
Формат | Формат сборки | Описание |
---|---|---|
6A | conv.i8 | Преобразуйте в int64 , принудив к int64 стеку. |
Переходный режим стека в последовательном порядке:
value
помещается в стек.value
извлекается из стека, и выполняется попытка преобразования.Если преобразование прошло успешно, полученное значение передается в стек.
Код conv.i8
операции преобразует value
в верхней части стека в тип, указанный в коде операции, и оставляет это преобразованное значение в верхней части стека. Целочисленные значения менее 4 байт расширяются до int32
при загрузке в стек вычислений (если conv.i
не используется или conv.u
, в этом случае результатом также native int
является ). Значения с плавающей запятой преобразуются в F
тип .
Преобразование чисел с плавающей запятой в целочисленные значения усекает число к нулю. При преобразовании из в float64
float32
точность можно потерять. Если value
слишком большой, чтобы поместиться в float32 (F)
, возвращается положительная бесконечность (если value
является положительной) или отрицательная бесконечность (если value
отрицательное значение). Если происходит переполнение при преобразовании одного целочисленного типа в другой, биты высокого порядка усекаются. Если результат меньше int32
, значение расширяется знаком для заполнения слота.
Если происходит переполнение при преобразовании типа с плавающей запятой в целое число, возвращаемое значение не указано.
При использовании этого поля не возникает никаких исключений. В разделе и Conv_Ovf_I8_Un приведены Conv_Ovf_I8 эквивалентные инструкции, которые создают исключение, если тип результата не может правильно представить значение результата.
Следующая Emit перегрузка conv.i8
метода может использовать код операции: