single
Challenge: Unsigned Data Types
Свайпніть щоб показати меню
Для представлення числа у двійковій системі необхідно зберігати як його значення, так і знак. Один біт виділяється для зберігання знаку, а решта бітів використовується для зберігання числового значення. Біт знаку зберігає:
0, якщо число невід’ємне;1, якщо число від’ємне.
Якщо відомо, що змінна може містити лише невід’ємні числа, можна використати модифікатор типу unsigned. Цей модифікатор дозволяє зберігати значення без урахування знаку.
Крім того, завдяки збільшенню обсягу пам’яті для зберігання значення, діапазон можливих значень ширший; однак від’ємні числа не входять до цього діапазону. Відповідно, дозволені діапазони такі:
main.cpp
12345678910#include <iostream> int main() { unsigned int total_vehicles = 1446000000; unsigned short age = 21; std::cout << total_vehicles << std::endl; std::cout << age << std::endl; }
Крім того, існує модифікатор типу signed, який вказує, що тип даних може містити як додатні, так і від’ємні числа. Однак усі числові типи даних за замовчуванням є signed, тому немає необхідності вказувати це явно.
Використовуйте unsigned лише тоді, коли змінна не може приймати від’ємні значення.
Присвоєння від’ємного значення змінній типу unsigned не викличе помилки, але результат буде некоректним.
Проведіть, щоб почати кодувати
Ви керуєте системою обліку складу. Кожен склад має максимальну місткість, і потрібно переконатися, що додавання нових запасів не перевищує цей ліміт.
Функція addStock приймає три параметри типу unsigned int і повертає оновлену кількість запасів на складі, не перевищуючи максимальну місткість. Усі значення мають тип unsigned, оскільки від’ємна кількість товарів неможлива.
- Спочатку перевірте, чи сума
stockіnewStockперевищуєmaxCapacity. - Якщо сума більша за
maxCapacity, повернітьmaxCapacity, щоб уникнути перевищення ліміту. - Якщо сума менша або дорівнює
maxCapacity, поверніть сумуstockіnewStock.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат