Почему у нас "минус 1"?
Просто ответьте на вопрос: что такое максимальное значение 1-битного целого числа ?
Один бит целое число может хранить только два (2 1 ) значения: 0
и 1
. Последнее значение 1 2 = 1 10
Двухбитное целое число может хранить только четыре (2 2 ) значений: 00
, 01
, 10
и 11
. Последнее значение равно 11 2 = 3 10
Таким образом, когда целое число может хранить N
, последним значением будет N-1
, потому что отсчет начинается с ноль .
n
бит целое число может хранить 2
n
значения. Где последний будет 2
n -1
Пример:
Один байт может хранить 2
8 (256) значений. Где первый 0
, а последний 255
Почему максимум не только 2n?
Потому что отсчет начинается с нуля. Посмотрите на первое значение для любого n
битового целого числа.
Например, байт: 00000000
Это было бы очень странно, если:
00000001
означает 2
00000000
означает 1
не будет? ; -)