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


OpCodes.Conv_Ovf_U2_Un Поле

Определение

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

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

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

Комментарии

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

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

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

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

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

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

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

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

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

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

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