Чтобы определить сколько минимум нужно бит для хранения числа, нужно взять его логарифм по основанию 2 (предварительно нужно добавить 1, потому как 0 мы тоже учитываем). Если результат не целый (число не является степенью 2), то стоит округлить его в большую сторону:
log2(255 + 1) = 8 - значит число влезет в 8 бит
log2(256 + 1) = 8.0056... - округляем до 9
Данная схема не работает для 0. Нужно запомнить, что для него тоже нужен один бит :)