← Повернутися до Лекції 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).
- Спробуйте записати це число у змінну типу
shortі вивести її (подивіться, що станеться — це називається переповненням). - Виправте програму, обравши правильний тип даних (
intабоlong long). - Додайте змінну для маси електрона (дуже маленьке дробове число), спробуйте використати
double.