← Повернутися до Лекції 2

Доповнення до Лекції 2: Розширені типи даних

У C++ існує "сімейство" цілих та дробових чисел. Вони відрізняються діапазоном значень (яке максимальне число можна записати) та кількістю пам'яті, яку вони займають.

1. Цілі числа (Integer family)

Коли int (який зазвичай вміщує до ±2 мільярдів) замало або, навпаки, забагато, ми використовуємо модифікатори:

Тип Опис Розмір (прибл.) Діапазон (прибл.) Для чого використовувати?
short Коротке ціле 2 байти -32,768 ... 32,767 Для економії пам'яті (наприклад, вік людини, номер дня в місяці)
int Стандартне ціле 4 байти -2 млрд ... +2 млрд Основний тип для лічильників та математики
long Довге ціле 4 або 8 байт* Не менше ніж int Залежить від системи, зараз використовується рідше
long long Дуже довге ціле 8 байтів ±9 квінтильйонів Для гігантських чисел (світовий борг, кількість зірок, ID у базах даних)

Примітка: Розмір long може відрізнятися на Windows та Linux/macOS. Для гарантовано великих чисел використовуйте long long.

2. Дробові числа (Floating point family)

Тут різниця полягає у точності (кількості знаків після коми).

Тип Опис Розмір Точність Приклад
float Одинарна точність 4 байти ~7 знаків 3.14159f (суфікс f обов'язковий)
double Подвійна точність 8 байтів ~15 знаків 3.1415926535...

3. Приклад коду з новими типами

#include <iostream>
using namespace std;

int main() {
    // --- Цілі числа ---
    short smallNumber = 32000;      // Економимо пам'ять
    int normalNumber = 1000000;     // Звичайне число
    long long bigNumber = 8000000000; // 8 мільярдів (не влізло б в int!)

    // --- Дробові числа ---
    float pi_approx = 3.14159f;     // float потребує 'f' в кінці
    double pi_precise = 3.141592653589793;

    cout << "Short: " << smallNumber << endl;
    cout << "Long Long: " << bigNumber << endl;

    // Демонстрація точності
    cout.precision(15); // Налаштування виводу на 15 знаків
    cout << "Float PI: " << pi_approx << endl; // Покаже неточність в кінці
    cout << "Double PI: " << pi_precise << endl; // Покаже точне число

    return 0;
}

Додаткове завдання (для закріплення нових типів)

Завдання 4: Космічні відстані

Напишіть програму, яка зберігає відстань від Землі до Сонця в кілометрах (приблизно 149 600 000).

  1. Спробуйте записати це число у змінну типу short і вивести її (подивіться, що станеться — це називається переповненням).
  2. Виправте програму, обравши правильний тип даних (int або long long).
  3. Додайте змінну для маси електрона (дуже маленьке дробове число), спробуйте використати double.