2 9 = 512 значений, потому что именно столько комбинаций нулей и единиц вы можете иметь.
Однако то, что эти значения представляют, будет зависеть от системы, которую вы используете. Если это целое число без знака, у вас будет:
000000000 = 0 (min)
000000001 = 1
...
111111110 = 510
111111111 = 511 (max)
В дополнении до двух , которое обычно используется для представления целых чисел в двоичном виде, вы получите:
000000000 = 0
000000001 = 1
...
011111110 = 254
011111111 = 255 (max)
100000000 = -256 (min) <- yay integer overflow
100000001 = -255
...
111111110 = -2
111111111 = -1
Как правило, с помощью k битов вы можете представлять 2 k значений. Их диапазон будет зависеть от используемой вами системы:
без знака: от 0 до 2 k -1
Подпись: -2 к-1 до 2 к-1 -1