0 также является значением, поэтому для 8 битов диапазон значений составляет 0-255.
00000000
является самым низким, а 11111111
(255) является самым высоким.
2 ^ x дает вам общее количество возможных значений для битов x. Вы должны использовать 2 ^ x, чтобы получить количество возможных комбинаций только там, где x> 0. Если x = 0, это указывает на не битовый сценарий, который не имеет значения.
В вашем случае некорректно суммировать значения от 2 ^ 0 до 2 ^ 7. Правильный подход должен просто вычислить 2 ^ 8, что составляет 256.