Операції. Арифметичні операції

Операції. Арифметичні операції


Зміст



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


Зв’язані теми