РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
58 of 815 menu

Тип unsigned

Тип unsigned в C++ является модификатором для целочисленных типов данных, таких как int, short, long и char. Он указывает компилятору, что переменная должна хранить только неотрицательные значения. Это достигается за счет того, что старший бит числа не используется для хранения знака, а полностью отводится под само значение. В результате диапазон допустимых значений сдвигается: минимальное значение становится 0, а максимальное примерно удваивается по сравнению со знаковым аналогом.

Например, обычный int обычно занимает 4 байта и хранит значения от -2147483648 до 2147483647. Тип unsigned int при том же размере хранит значения от 0 до 4294967295. Важно помнить, что при выходе за пределы допустимого диапазона происходит переполнение с циклическим переходом: после максимального значения следует 0, а перед 0 - максимальное значение.

Синтаксис

unsigned тип имя_переменной; unsigned тип имя_переменной = значение;

Также можно использовать сокращенную запись без int, например unsigned, что эквивалентно unsigned int.

Пример

Объявим переменную типа unsigned int и выведем ее значение:

#include <iostream> using namespace std; int main() { unsigned int num = 42; cout << num << endl; return 0; }

Результат выполнения кода:

42

Пример

Продемонстрируем циклическое переполнение при выходе за максимальное значение:

#include <iostream> using namespace std; int main() { unsigned char num = 255; num = num + 1; cout << static_cast<int>(num) << endl; return 0; }

Результат выполнения кода:

0

Пример

Покажем разницу между знаковым и беззнаковым типами при работе с отрицательными числами:

#include <iostream> using namespace std; int main() { int a = -1; unsigned int b = a; cout << a << endl; cout << b << endl; return 0; }

Результат выполнения кода:

-1 4294967295

Смотрите также

  • тип int,
    который хранит целые числа со знаком
  • тип short,
    который хранит короткие целые числа
  • тип long,
    который хранит длинные целые числа
  • тип size_t,
    который является беззнаковым типом для размеров
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить