Ответ 1
Самый используемый размер целого числа - 32 бита. Последний бит используется для различения положительных и отрицательных чисел. Если последний бит НЕ установлен, то число положительное. Следовательно, максимальное положительное число 0x7FFFFFFF
= (1<<31)-1
= 2147483647
(последний бит не установлен).
Для отрицательных чисел широко используются две комплиментные обозначения. Вы можете идентифицировать символ положительного числа, инвертируя все его биты и добавляя 1. Таким образом, копия максимального значения 0x80000001
, однако это NOT минимальное число.
Минимальное число в двух обозначениях комплиментов: 0x80000000
= -2147483648
.
Интересный факт об этом числе состоит в том, что он равен своему собственному дополнению, то есть инвертирование всех битов приводит к 0x7FFFFFFF
, и добавление 1 дает 0x80000000
, которое равно исходному числу.
Более двух примечаний комплимента в wikipedia.