Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Challenge: Unsigned Data Types | Other Data Types and Concepts
C++ Data Types

bookChallenge: Unsigned Data Types

To represent a number in the binary system, it is necessary to store both its value and sign. One bit is dedicated to storing the sign, while the remaining bits are used to store the numerical value. The sign bit stores:

  • 0 if the number is non-negative;
  • 1 if the number is negative.

If we are certain that our variable can only hold non-negative numbers, we can utilize the unsigned type modifier. This modifier enables the storage of values without considering the sign.

Moreover, due to the increased memory available for storing the value, the range of possible values is wider; however, negative numbers are not included within this range. Therefore, the allowed ranges are as follows:

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

Additionally, there is a signed type modifier available to indicate that a data type can accommodate both positive and negative numbers. But all numerical data types by default are signed, so there is no need to specify it explicitly.

Be sure to use unsigned only when the variable can not take negative numbers.
Assigning a negative value to an unsigned variable will not produce any errors, but the resulting value will be incorrect.

Tehtävä

Swipe to start coding

You are managing a warehouse inventory system. Each warehouse has a maximum capacity, and you want to make sure that adding new stock does not exceed this limit.

The function addStock takes three unsigned int parameters and returns the updated warehouse stock without exceeding the maximum capacity. All values are unsigned since negative items are not possible.

  1. First, check if the sum of stock and newStock exceeds maxCapacity.
  2. If the sum is greater than maxCapacity, return maxCapacity to avoid exceeding the limit.
  3. If the sum is less than or equal to maxCapacity, return the sum of stock and newStock.

Example

addStock(950, 30, 1000)980
addStock(950, 100, 1000)1000
addStock(950, 0, 1000)950

Ratkaisu

solution.cpp

solution.cpp

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 5
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 4.35

bookChallenge: Unsigned Data Types

Pyyhkäise näyttääksesi valikon

To represent a number in the binary system, it is necessary to store both its value and sign. One bit is dedicated to storing the sign, while the remaining bits are used to store the numerical value. The sign bit stores:

  • 0 if the number is non-negative;
  • 1 if the number is negative.

If we are certain that our variable can only hold non-negative numbers, we can utilize the unsigned type modifier. This modifier enables the storage of values without considering the sign.

Moreover, due to the increased memory available for storing the value, the range of possible values is wider; however, negative numbers are not included within this range. Therefore, the allowed ranges are as follows:

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

Additionally, there is a signed type modifier available to indicate that a data type can accommodate both positive and negative numbers. But all numerical data types by default are signed, so there is no need to specify it explicitly.

Be sure to use unsigned only when the variable can not take negative numbers.
Assigning a negative value to an unsigned variable will not produce any errors, but the resulting value will be incorrect.

Tehtävä

Swipe to start coding

You are managing a warehouse inventory system. Each warehouse has a maximum capacity, and you want to make sure that adding new stock does not exceed this limit.

The function addStock takes three unsigned int parameters and returns the updated warehouse stock without exceeding the maximum capacity. All values are unsigned since negative items are not possible.

  1. First, check if the sum of stock and newStock exceeds maxCapacity.
  2. If the sum is greater than maxCapacity, return maxCapacity to avoid exceeding the limit.
  3. If the sum is less than or equal to maxCapacity, return the sum of stock and newStock.

Example

addStock(950, 30, 1000)980
addStock(950, 100, 1000)1000
addStock(950, 0, 1000)950

Ratkaisu

solution.cpp

solution.cpp

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 5
single

single

some-alt