Зміст курсу
Вступ до C++
Вступ до C++
Числові Типи Даних
Цілі числа
Цілісні типи даних найчастіше використовуються для цілих чисел. Тип даних int
може зберігати значення в межах від -2,147,483,648
до 2,147,483,647
.
main
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }
Це відбувається тому, що коли ви оголошуєте змінну типу int
, вона виділяє точно 4 байти пам'яті вашого ПК. І числа більше 2147483647
(або менше -2147483648
) не поміщаються в ці 4 байти. На щастя, інші доступні типи даних можуть виділити вам більше (або менше) місця для ваших потреб. Ось таблиця:
Тип даних | ||
---|---|---|
short | 2 байти | |
int | 4 байти | |
long | 8 байтів |
Отже, ви можете використовувати long
для зберігання великих чисел (наприклад, населення світу). Ви також можете використовувати short
, якщо ви впевнені, що ваше число не перевищить діапазон від -32,768
до 32,767
(наприклад, зберігання віку користувача). Використання short
займе менше пам'яті.
main
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Примітка
Будьте обережні з вибором типу даних. Якщо діапазон типу перевищено, компілятор C++ не повідомить вас, і ви можете отримати несподіване значення без жодного вказівки на помилку.
Числа з плаваючою комою
Вищезазначені типи даних призначені для зберігання цілих чисел. Якщо ми спробуємо присвоїти 1.6
одному з них, ось що ми отримаємо:
main
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Тип int
усікає десяткову частину числа. Ця поведінка така ж для типів short
і long
. Щоб зберігати числа з плаваючою комою (десяткові числа), ви повинні використовувати або тип даних float
, або double
.
Тип даних | ||
---|---|---|
float | ||
double |
Ось приклад використання double
для зберігання 1.6
.
main
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }
Примітка
Оскільки тип
float
має точність лише сім цифр, число 123.456789 вже виходить за межі його діапазону. Це може призвести до неточних результатів (як показано в прикладі нижче). Тому краще використовуватиdouble
за замовчуванням, якщо ви не впевнені, що точностіfloat
достатньо.
Очевидно, що ви можете використовувати float
або double
для зберігання цілих чисел, оскільки це десяткові числа з десятковою частиною, рівною 0. Однак, як хороша практика, якщо змінна зберігає значення, які можуть бути лише цілими числами (наприклад, населення або лайки), слід використовувати short
/int
/long
.
Дякуємо за ваш відгук!