Я изучаю C и имею тупой вопрос относительно "-1" в диапазоне значений для unsigned int и sign int. Я не могу найти объяснение этому нигде.
Параграф ниже объясняет диапазон данных. Однако это не объясняет "-1". Что означает "-1"? Это -1, потому что пропускает 0, а 0 не имеет значения?
В 32-разрядных целых числах целое число без знака имеет диапазон от 0 до 2 ^ 32 -1 = от 0 до 4 294 967 295 или около 4 миллиардов. Подписанная версия переходит от -2 ^ 31 -1 к 2 ^ 31, что составляет от –2 147 483 648 до 2 147 483 647 или около -2 миллиардов до +2 миллиардов. Диапазон такой же, но он сдвинут на числовой линии.