Мультиплікативні операції
До мультиплікативних операцій відносяться операції множення *, ділення / і отримання залишку від ділення %. Операндами операції % повинні бути цілі значення. Операції множення * і ділення / виконуються над цілими і плаваючими операндами.
Типи першого і другого операндів можуть відрізнятися, при цьому виконуються перетворення операндів за замовчуванням. Типом результату є тип операндів після перетворення.
В процесі виконання мультиплікативних операцій ситуація переповнювання або втрати значущості не контролюється. Якщо результат мультиплікативної операції не може бути представлений типом операндів після перетворення, то інформація втрачається.
Множення (*)
Операція множення виконує множення одного з своїх операндів на іншій.
Ділення (/)
Операція ділення виконує ділення першого свого операнда на другий. Якщо обидва операнди є цілими значеннями і не діляться без остачі, то результат заокруглюється в сторону нуля. Ділення на нуль дає помилку під час виконання.
Залишок від ділення (%)
Результатом операції є залишок від ділення першого операнда на другий. Знак результату співпадає із знаком ділимого.
Приклади:
int i=10, j=3, n;
double x = 2.0, у;
у = x * i; /* приклад 1 */
n = i / j; /* приклад 2 */
n = i % j; /* приклад 3 */
Адитивні операції
До адитивних операцій відносяться додавання ( +) і віднімання (-). Їх операндами можуть бути цілі і плаваючі значення. В деяких випадках адитивні операції можуть також виконуватися над адресними значеннями. Над операндами виконуються перетворення за умовчанням. Типом результату є тип операндів після перетворення. В процесі виконання адитивних операцій ситуація переповнення або втрати значущості не контролюється. Якщо результат аддитивної операції не може бути представлений типом операндів після перетворення, то інформація втрачається.
Додавання ( +)
Операція додавання ддодає два свої операнди. Операнди можуть мати цілий або плаваючий тип. Типи першого і другого операндів можуть розрізнятися. Один з операндів може бути покажчиком; тоді інший повинен бути цілим значенням. Коли ціле значення
(назвемо його i) додається до покажчика, то i масштабується шляхом множення його на розмір типу, з яким асоційований даний покажчик. Після перетворення ціле значення представляє i комірок пам'яті, де кожна комірка відповідає за розміром типу, з яким асоційований даний покажчик. Коли перетворене ціле значення додається до покажчика, то результатом є покажчик, що адресує область пам'яті, розташовану в i комірках далі від первинної адреси. Новий покажчик вказує на той же самий тип даних, що і початковий покажчик.
Віднімання (-)
Операція віднімання віднімає другий операнд від першого. Операнди можуть мати цілий або плаваючий тип. Типи першого і другого операндів можуть розрізнятися. Допускається віднімання цілого з покажчика і віднімання двох покажчиків.
Коли ціле значення віднімається з покажчика, попередньо проводиться те ж масштабування, що і при додаванні цілого значення з покажчиком. Результатом віднімання буде покажчик, що адресує область пам'яті, розташовану в i комірках перед первинною адресою. Новий покажчик вказує на той же самий тип даних, що і початковий покажчик.