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


OpCodes.Conv_Ovf_I2_Un Поле

Определение

Преобразует значение без знака на вершине стека вычислений в значение int16 со знаком, расширяет его до int32 и создает исключение OverflowException в случае переполнения.

public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I2_Un;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I2_Un;
 staticval mutable Conv_Ovf_I2_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I2_Un As OpCode 

Значение поля

Комментарии

В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:

Формат Формат сборки Описание
83 conv.ovf.i2.un Преобразует неподписаемое значение в ( int16 в стеке как int32) и создает исключение при переполнении.

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

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

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

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

Код conv.ovf.i2.un операции преобразует объект в value верхней части стека в тип, указанный в коде операции, и помещает преобразованное значение в верхнюю часть стека. Если значение слишком велико или слишком мало для представления целевым типом, возникает исключение.

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

OverflowException возникает, если результат не может быть представлен в типе результата.

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

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