Sdílet prostřednictvím


Multiplikativní operátory: *, / %

 expression * expression 
 expression / expression 
 expression % expression

Poznámky

Multiplikativní operátory jsou:

  • Násobení (*)

  • Divize (/)

  • Modulo (zbytek po dělení) (%)

Tyto binární operátory mají asociativitu zleva doprava.

Multiplikativní operátory vezmou operandy aritmetické typů.Operátor modulo (%) má přísnější požadavek, že jeho operandy musí být integrálního typu.(Získat zbytek po dělení s pohyblivou čárkou, použijte funkci spuštění fmod.) Převody uvedené v Aritmetický převody jsou použity operandy, a výsledkem je převedené typu.

Operátor násobení dává výsledek vynásobení prvního operandu druhý.

Operátor dělení dává výsledek vydělí prvního operandu druhý.

Operátor modulo dává zbytek dán následující výraz, kde e1 je prvním operandem a e2 je druhý: e1 – (e1 / e2) * e2, kde jsou oba operandy nedílnou typů.

Dělení nulou v rozdělení nebo modulové výraz není definována a způsobuje chybu běhu.Následující výrazy proto generovat nedefinovaný, chybné výsledky:

i % 0
f / 0.0

Pokud oba operandy násobení, dělení nebo modulové výraz stejné znaménko, výsledek je kladný.Jinak výsledek je záporný.Výsledek operace modulo na znaménko je definované implementací.

[!POZNÁMKA]

Protože převody prováděné multiplikativní operátory neposkytují přetečení nebo podtečení podmínky, mohou být ztraceny informace pokud výsledek multiplikativní operace nelze reprezentovat v typu operandu po převodu.

Konkrétní společnosti Microsoft

Microsoft C++ výsledek modulus výrazu je vždy stejná jako značka prvního operandu.

Konec konkrétní společnosti Microsoft

Pokud vypočítaný dělení dvou celých čísel je nepřesné a pouze jeden operand je negativní, výsledkem je největší celé číslo (v rozsahu bez ohledu na znaménko), která je menší než přesnou hodnotu, kterou by operace rozdělení výnosu.Například vypočítaná hodnota –11 3 je –3.666666666.Výsledek tohoto dělení nedílnou je –3.

Vztah mezi multiplikativní operátory je dán identity (e1 / e2) * e2 + e1 % e2 == e1.

Příklad

Následující program ukazuje multiplikativní operátory.Všimněte si, že buď operand 10 / 3 musí být explicitně odevzdaných zadejte float k zamezení zkrácení tak, že jsou oba operandy typu float před divize.

// expre_Multiplicative_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
   int x = 3, y = 6, z = 10;
   cout  << "3 * 6 is " << x * y << endl
         << "6 / 3 is " << y / x << endl
         << "10 % 3 is " << z % x << endl
         << "10 / 3 is " << (float) z / x << endl;
}

Viz také

Referenční dokumentace

Výrazy s binární operátory

Operátory C++

Přednost a asociativita operátorů

C multiplikativní operátory