Для целых чисел без знака:
мы используем все N
биты для представления чисел в диапазоне от 0 to 2^N - 1
, потому что если мы используем все N битовых позиций и вычисляем различные конфигурации, помещая либо 0
, либо 1
в каждую позицию, мы можем получить максимальное целое число 2^N - 1
(что составляет 11...upto N times
) и самое низкое целое число, равное 0
(что составляет 00..upto N times
). И, следовательно, все значения от 0
до 2^N - 1
могут быть представлены.
Для целых чисел со знаком:
Здесь мы в основном используем N-1
бит для представления целых чисел, а 1
бит зарезервирован исключительно для определения знака этого целого числа. Таким образом, мы можем представлять числа в диапазоне от -2^(N-1)
до 2^(N-1) - 1
. Наиболее значимый бит как 1
представляет отрицательные целые числа, тогда как старший значащий бит как 0
представляет неотрицательные целые значения. Здесь мы можем представить отрицательное значение от -1
до -2^(N-1)
из-за того, что мы можем использовать число со всеми N
битами как 1
. В основном компиляторы используют представление дополняющее два для представления целых чисел.