Udostępnij za pośrednictwem


C operatory multiplikatywne

Operatory multiplikatywne wykonują mnożenie (*), division (/), a pozostałą część (%) operacji.

Składnia

  • multiplikatywne wyrażenie:
    wyrażenie rzutowania

    multiplikatywne wyrażenie * wyrażenie rzutowania

    multiplikatywne wyrażenie / wyrażenie rzutowania

    multiplikatywne wyrażenie % wyrażenie rzutowania

Operandy operator pozostałą część (%) musi być integralną.Rozmnażanie (*) i dzielenia (/) operatorów można podjąć Całka - lub pływające-operandy typu; typy operandów mogą być różne.

Operatory multiplikatywne wykonywanie zwykłych konwersje arytmetyczne na operandy.Typ wynik jest typu operandów po konwersji.

[!UWAGA]

Ponieważ konwersje, wykonywane przez operatory multiplikatywne nie przewidują przepełnienie lub niedomiar warunków, informacje mogą zostać utracone, jeśli wynik operacji multiplikatywne nie może być przedstawiona w typu operandów po konwersji.

Operatory multiplikatywne c są opisane poniżej:

Operator

Opis

*

Operator mnożenia powoduje jej dwa operandy należy pomnożyć.

/

Operator dzielenia powoduje, że pierwszy operand podzielona przez drugi.Jeśli dwa operandy całkowitą są podzielone, a nie jest liczbą całkowitą, jest obcinany zgodnie z następującymi zasadami:

 

  • Niezdefiniowany zgodnie z normą ANSI C jest wynikiem dzielenia przez 0.Kompilator Microsoft C generuje błąd w czasie kompilacji lub w czasie wykonywania.

 

  • Jeśli oba operandy są pozytywne lub bez znaku, wynik zostanie obcięta kierunku 0.

 

  • Jeśli albo operand jest ujemna, czy wynik operacji mniej niż algebraicznych iloraz jest największą liczbą całkowitą lub jest najmniejszą liczbą całkowitą większą niż lub równa algebraicznych iloraz jest wykonania zdefiniowane.(Zobacz sekcję Microsoft określonych poniżej).

%

Wynik operator pozostałą część jest pozostałą po pierwszym argumentem jest dzielona przez drugi.Kiedy podział jest niedokładna, wynik jest określane przez następujące zasady:

 

  • Prawy operand jest równa zeru, to wynik jest niezdefiniowane.

 

  • Jeśli oba operandy są pozytywne lub bez znaku, wynik jest dodatni.

 

  • Jeśli wynik jest niedokładna albo operand jest ujemna, wynik jest wykonania zdefiniowane.(Zobacz sekcję Microsoft określonych poniżej).

Programu Microsoft

W rejonie, gdzie albo operand jest ujemna kierunek obcinania jest kierunku 0.

Jeśli którejkolwiek z tych operacji jest ujemny w rejonie z operatorem pozostałą, wynik ma taki sam znak jak dywidendy (pierwszego operandu wyrażenia).

KONIEC Microsoft szczególne

Przykłady

Deklaracje przedstawione poniżej są używane następujące przykłady:

int i = 10, j = 3, n;
double x = 2.0, y;

Ta instrukcja używa operatora mnożenia:

y = x * i;

W tym przypadku x jest mnożona przez i Aby nadać wartość 20,0.Wynik ma double typu.

n = i / j;

W tym przykładzie 10 jest dzielona przez 3.Wynik jest obcinana w kierunku 0, nadającego całkowitą wartość 3.

n = i % j;

Ta instrukcja przypisuje n pozostałą część całkowitą, 1, gdy 10 jest dzielona przez 3.

Programu Microsoft

Znak reszta jest taka sama, jak znak dywidendy.Na przykład:

50 % -6 = 2
-50 % 6 = -2

W każdym przypadku 50 i 2 mieć ten sam znak.

KONIEC Microsoft szczególne

Zobacz też

Informacje

Operatory multiplikatywne: *, i %