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

 Unsigned Unsigned

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:

Type Size (bytes) Range
short 2 -32,768 to 32,767
unsigned short 2 0 to 65,535
int 4 -2,147,483,648 to 2,147,483,647
unsigned int 4 0 to 4,294,967,295
long 8 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned long 8 0 to 18,446,744,073,709,551,615
cpp

main.cpp

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. Your task is to check this statement yourself!

Tarea

  • Assign the value -10 to the variable of any data type with an unsigned modifier.
  • Print this variable using the std::cout.

¿Todo estuvo claro?

Sección 4. Capítulo 5
toggle bottom row
course content

Contenido del Curso

C++ Data Types

 Unsigned Unsigned

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:

Type Size (bytes) Range
short 2 -32,768 to 32,767
unsigned short 2 0 to 65,535
int 4 -2,147,483,648 to 2,147,483,647
unsigned int 4 0 to 4,294,967,295
long 8 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned long 8 0 to 18,446,744,073,709,551,615
cpp

main.cpp

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. Your task is to check this statement yourself!

Tarea

  • Assign the value -10 to the variable of any data type with an unsigned modifier.
  • Print this variable using the std::cout.

¿Todo estuvo claro?

Sección 4. Capítulo 5
toggle bottom row
some-alt