Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что означает unsigned int?

Артём Измер Знаток (372), закрыт 4 года назад
Лучший ответ
Tema Мыслитель (5013) 4 года назад
Беззнаковое целое число. Отличается от int тем, что бит используемый для знака считается частью самого числа. При этом знак теряется (невозможно задать отрицательное), но максимальное значение увеличивается вдвое.
int в зависимости от архитектуры может занимать как правило 4 или 2 байта. Предположим что 2 байта (16 бит). Тогда диапазон значений у int будет от -32768 до 32768. Для unsigned int в этом случае знак "переходит" в само число и диапазон значений становится от 0 до 65536.

Более конкретный пример для понимания. Предположим что есть три бита для записи числа.
Если первый бит будет знаком (0 для + и 1 для -), то все возможные значения такой переменной будут следующими:
0 00 - 0
0 01 - 1
0 10 - 2
0 11 - 3
1 00 - 0
1 01 - -1
1 10 - -2
1 11 - -3

Если же первый бит считать частью самого числа (unsigned), то значения будут такими:
000 - 0
001 - 1
010 - 2
011 - 3
100 - 4
101 - 5
110 - 6
111 - 7
Остальные ответы
Похожие вопросы