OpCodes.Div Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Divide due valori e inserisce il risultato come valore in virgola mobile (di tipo F
) o quoziente (di tipo int32
) nello stack di valutazione.
public: static initonly System::Reflection::Emit::OpCode Div;
public static readonly System.Reflection.Emit.OpCode Div;
staticval mutable Div : System.Reflection.Emit.OpCode
Public Shared ReadOnly Div As OpCode
Valore del campo
Commenti
La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:
Formato | Formato assembly | Descrizione |
---|---|---|
5B | div | Divide due valori per restituire un risultato a virgola mobile o a virgola mobile. |
Il comportamento di transizione dello stack, in ordine sequenziale, è:
value1
viene eseguito il push nello stack.value2
viene eseguito il push nello stack.value2
evalue1
vengono estratte dallo stack;value1
è diviso davalue2
.Il risultato viene eseguito il push nello stack.
result
=
value1
il valore div2 soddisfa le condizioni seguenti:
|
result
| = | value1
| / | value2
|, e:
sign(result
) = +, if sign() = sign(value2
value1
) o -, if sign() ~= sign(value2
value1
)
L'istruzione div
calcola il risultato e lo esegue nello stack.
La divisione integer tronca verso zero.
La divisione di un numero finito per zero produce il valore infinito firmato correttamente.
La divisione zero per zero o infinito per infinito genera il valore NaN (Not-A-Number). Qualsiasi numero diviso per infinito produrrà un valore zero.
Le operazioni integrali generano ArithmeticException se il risultato non può essere rappresentato nel tipo di risultato. Ciò può verificarsi se value1
è il valore negativo massimo e value2
è -1.
Le operazioni integrali generano DivideByZeroException se value2
è zero.
Si noti che nelle piattaforme basate su Intel viene generato quando OverflowException si esegue il calcolo (minint div -1). Le operazioni a virgola mobile non generano mai un'eccezione (producono invece NaNs o infiniti).
L'overload del metodo seguente Emit può usare il div
codice opcode: