Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: Unsigned Data Types | Section
Типи Даних C++
Секція 1. Розділ 15
single

single

bookChallenge: Unsigned Data Types

Свайпніть щоб показати меню

Для представлення числа у двійковій системі необхідно зберігати як його значення, так і знак. Один біт виділяється для зберігання знака, а решта бітів використовується для зберігання числового значення. Біт знака зберігає:

  • 0, якщо число невід’ємне;
  • 1, якщо число від’ємне.

Якщо відомо, що змінна може містити лише невід’ємні числа, можна використати модифікатор типу unsigned. Цей модифікатор дозволяє зберігати значення без урахування знака.

Крім того, завдяки збільшенню доступної пам’яті для зберігання значення, діапазон можливих значень ширший; однак від’ємні числа не входять до цього діапазону. Відповідно, дозволені діапазони такі:

main.cpp

main.cpp

copy
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; }
Note
Примітка

Крім того, існує модифікатор типу signed, який вказує, що тип даних може містити як додатні, так і від’ємні числа. Однак усі числові типи даних за замовчуванням є signed, тому немає необхідності вказувати це явно.

Використовуйте unsigned лише тоді, коли змінна не може приймати від’ємні значення.
Присвоєння від’ємного значення змінній типу unsigned не викличе помилки, але результат буде некоректним.

Завдання

Проведіть, щоб почати кодувати

Ви керуєте системою обліку складу. Кожен склад має максимальну місткість, і необхідно переконатися, що додавання нових запасів не перевищує цей ліміт.

Функція addStock приймає три параметри типу unsigned int і повертає оновлену кількість запасів на складі, не перевищуючи максимальну місткість. Усі значення мають тип unsigned, оскільки від’ємна кількість товарів неможлива.

  1. Спочатку перевірити, чи сума stock і newStock перевищує maxCapacity.
  2. Якщо сума більша за maxCapacity, повернути maxCapacity, щоб уникнути перевищення ліміту.
  3. Якщо сума менша або дорівнює maxCapacity, повернути суму stock і newStock.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 15
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt