Числові Типи Даних
Цілі числа
Цілочисельні типи даних найчастіше використовуються для зберігання цілих чисел. Тип даних int
може містити значення в межах від -2,147,483,648
до 2,147,483,647
.
main.cpp
12345678910#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 bytes | |
int | 4 bytes | |
long | 8 bytes |
Отже, для зберігання великих чисел (наприклад, населення світу) використовуйте long
. Можна також використовувати short
, якщо впевнені, що значення не перевищить діапазон від -32,768
до 32,767
(наприклад, для зберігання віку користувача). Використання short
дозволяє економити пам'ять.
main.cpp
123456789101112#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.cpp
12345678#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.cpp
12345678910#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
.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.85
Числові Типи Даних
Свайпніть щоб показати меню
Цілі числа
Цілочисельні типи даних найчастіше використовуються для зберігання цілих чисел. Тип даних int
може містити значення в межах від -2,147,483,648
до 2,147,483,647
.
main.cpp
12345678910#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 bytes | |
int | 4 bytes | |
long | 8 bytes |
Отже, для зберігання великих чисел (наприклад, населення світу) використовуйте long
. Можна також використовувати short
, якщо впевнені, що значення не перевищить діапазон від -32,768
до 32,767
(наприклад, для зберігання віку користувача). Використання short
дозволяє економити пам'ять.
main.cpp
123456789101112#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.cpp
12345678#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.cpp
12345678910#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
.
Дякуємо за ваш відгук!