Поделиться через


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 стеку.

Переходный режим стека в последовательном порядке:

  1. value помещается в стек.

  2. value извлекается из стека, и выполняется попытка преобразования.

  3. Если преобразование прошло успешно, полученное значение передается в стек.

Код conv.i8 операции преобразует value в верхней части стека в тип, указанный в коде операции, и оставляет это преобразованное значение в верхней части стека. Целочисленные значения менее 4 байт расширяются до int32 при загрузке в стек вычислений (если conv.i не используется или conv.u , в этом случае результатом также native intявляется ). Значения с плавающей запятой преобразуются в F тип .

Преобразование чисел с плавающей запятой в целочисленные значения усекает число к нулю. При преобразовании из в float64float32точность можно потерять. Если value слишком большой, чтобы поместиться в float32 (F), возвращается положительная бесконечность (если value является положительной) или отрицательная бесконечность (если value отрицательное значение). Если происходит переполнение при преобразовании одного целочисленного типа в другой, биты высокого порядка усекаются. Если результат меньше int32, значение расширяется знаком для заполнения слота.

Если происходит переполнение при преобразовании типа с плавающей запятой в целое число, возвращаемое значение не указано.

При использовании этого поля не возникает никаких исключений. В разделе и Conv_Ovf_I8_Un приведены Conv_Ovf_I8 эквивалентные инструкции, которые создают исключение, если тип результата не может правильно представить значение результата.

Следующая Emit перегрузка conv.i8 метода может использовать код операции:

Применяется к