Содержание
Возврат к предыдущей части 1.3.5 Операция SizeOf
К этому классу операций относятся операции:
- умножения (*)
- деления (/)
- получение остатка от деления (%)
Операндами операции (%) должны быть целые числа. Отметим, что типы операндов операций умножения и деления могут отличаться, и для них справедливы правила преобразования типов. Типом результата является тип операндов после преобразования.
Операция умножения (*) выполняет умножение операндов.
1 2 3 4 | int i=5; float f=0.2; double g,z; g=f*i; |
Тип произведения i и f преобразуется к типу double, затем результат присваивается переменной g.
Операция деления (/) выполняет деление первого операнда на второй. Если две целые величины не делятся нацело, то результат округляется в сторону нуля.
При попытке деления на ноль выдается сообщение во время выполнения.
1 2 3 | int i=49, j=10, n, m; n = i/j; /* результат 4 */ m = i/(-j); /* результат -4 */ |
Операция остаток от деления (%) дает остаток от деления первого операнда на второй.
Знак результата зависит от конкретной реализации. В данной реализации знак результата совпадает со знаком делимого. Если второй операнд равен нулю, то выдается сообщение.
1 2 3 4 5 | int n = 49, m = 10, i, j, k, l; i = n % m; /* 9 */ j = n % (-m); /* 9 */ k = (-n) % m; /* -9 */ l = (-n) % (-m); /* -9 */ |