OpCodes.Div Pole

Definice

Rozdělí dvě hodnoty a nasdílí výsledek jako hodnotu s plovoucí desetinou čárkou (typ F) nebo kvocient (typ int32) do zásobníku vyhodnocení.

public static readonly System.Reflection.Emit.OpCode Div;

Hodnota pole

Poznámky

Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:

Formát Formát sestavení Description
5B div Vydělí dvě hodnoty a vrátí výsledek s plovoucí desetinou čárkou.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. value1 se nasdílí do zásobníku.

  2. value2 se nasdílí do zásobníku.

  3. value2 a value1 jsou vysupeny ze zásobníku; value1 je děleno pomocí value2.

  4. Výsledek se nasdílí do zásobníku.

result = value1 hodnota div2 splňuje následující podmínky:

| result | = | value1 | / | value2 |, a:

sign(result) = +, if sign(value1) = sign(value2) nebo -, if sign(value1) ~= sign(value2)

Instrukce div vypočítá výsledek a nasdílí ho do zásobníku.

Celočíselné dělení se zkrátí směrem k nule.

Při dělení konečného čísla nulou vznikne správně podepsaná nekonečná hodnota.

Když nulu vydělíte nulou nebo nekonečnem nekonečnem, vznikne hodnota NaN (Not-A-Number). Jakékoli číslo dělené nekonečnem vytvoří nulovou hodnotu.

Integrální operace vyvolá ArithmeticException , pokud výsledek nemůže být reprezentován v typu výsledku. K tomu může dojít, pokud value1 je maximální záporná hodnota a value2 je -1.

Integrální operace vyvolají DivideByZeroException , pokud value2 je nula.

Všimněte si, že na platformách OverflowException založených na technologii Intel se při výpočtech vyvolá hodnota (minint div -1). Operace s plovoucí desetinnou čárkou nikdy nevyvolají výjimku (místo toho vytvářejí sítě NaN nebo infinity).

Následující Emit přetížení metody může použít div opcode:

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0