Операції. Арифметичні операції
Зміст
- 1. Які арифметичні операції використовуються в мові C/C++?
- 2. Для яких типів даних можна застосовувати арифметичні операції?
- 3. Як здійснюється приведення типів в операціях +, –, *?
- 4. Який пріоритет та асоціативність арифметичних операцій?
- 5. Яка відмінність між бінарними та унарними операціями додавання (+) та віднімання (–)?
- 6. Які особливості використання операції % (остача від ділення)?
- 7. Які особливості використання операції / (ділення)?
- Зв’язані теми
Пошук на інших ресурсах:
1. Які арифметичні операції використовуються в мові C/C++?
У мові C/C++ підтримуються наступні арифметичні операції:
+ – додавання; - – віднімання; * – множення; / – ділення; % – остача від ділення.
Усі ці операції є бінарними. Це означає, що для отримання результату, потрібно 2 операнди. Загальний вигляд арифметичної операції:
операнд1 операція операнд2
де
- операція – одна з операцій +, –, *, %, /.
2. Для яких типів даних можна застосовувати арифметичні операції?
Арифметичні операції можна застосовувати для:
- цілочисельних типів short int, unsigned short int, int, unsigned int, long, unsigned long;
- типів з плаваючою комою float, double, long double;
- типів (класів), що містять “перевантаження” арифметичної операції.
В арифметичних операціях один з операндів може мати цілочисельний тип, а другий бути типом з плаваючою комою. У цьому випадку результат має тип з плаваючою комою.
3. Як здійснюється приведення типів в операціях +, –, *?
У виразах, в яких фігурують операції +, –, * діють такі правила приведення типу результату:
- якщо обидва операнди мають цілий тип, то результат також буде цілого типу;
- якщо хоча б один з операндів має дійсний (з плаваючою комою) тип а інший цілий тип, то результат також буде дійсного типу;
- якщо один з операндів має тип float, а інший тип double, то результат буде типу double. Це зв‘язано з тим, що тип double потребує більше пам‘яті ніж тип float. У цьому випадку відбувається розширення типу float до типу double.
4. Який пріоритет та асоціативність арифметичних операцій?
Арифметичні операції мають пріоритет та асоціативність такі, як зображено в таблиці.
Знаки операцій |
Найменування |
Асоціативність |
* / % |
Бінарні, мультиплікативні | Зліва направо |
+ – |
Бінарні, адитивні | Зліва направо |
5. Яка відмінність між бінарними та унарними операціями додавання (+) та віднімання (–)?
Операції додавання (+) та віднімання (–) можуть бути як бінарними, так і унарними.
Бінарні операції + та – використовуються у виразах при проведенні обчислень.
Унарні операції + та – використовуються для позначення знаку числа (додатне число або від‘ємне число).
Приклад.
int a, b; a = -8; // унарна операція '-', позначає знак числа b = +9; // унарна операція '+', b = 9 a = b - 5; // бінарна операція '-', використовується у виразі для обчислення
6. Які особливості використання операції % (остача від ділення)?
Операція % використовується над цілими операндами. Операція % дозволяє отримати остачу від ділення цілих операндів.
Приклад.
// Операція % - взяття остачі від ділення int a, b; int c; a = 3; b = 5; c = a % b; // c = 3 a = 8; b = 4; c = a % b; // c = 0 c = 12 % 35; // c = 12 c = 35 % 12; // c = 11 c = -5 % -3; // c = -2
7. Які особливості використання операції / (ділення)?
Операція ділення має свої особливості, які полягають в наступному:
- якщо два операнди мають цілочисельний тип, то результат повертається цілого типу. У цьому випадку відбувається ділення націло. Остача від ділення відкидається;
- якщо один з операндів має тип з плаваючою комою, тоді результат має також тип з плаваючою комою.
Приклад.
// Операція ділення int a, b; int c; float x; a = 8; b = 3; c = a / b; // c = 2 x = a / b; // x = 2.0 x = a / (float)b; // x = 2.666667 x = 17.0 / 3; // x = 5.666667 x = 17 / 3; // x = 5.0
Зв’язані теми
- Операції відношень
- Логічні операції. Порозрядні логічні операції. Операції зсуву
- Оператори інкременту (++) та декременту (—). Складені оператори присвоювання (+=, -=, …)
- Таблиця пріоритетності операцій