Подтвердить что ты не робот

Сколько значений может быть представлено с n битами?

Например, если n=9, то сколько разных значений может быть представлено в 9 двоичных разрядах (бит)?

Мое мышление заключается в том, что если я установил каждый из этих 9 бит в 1, я сделаю максимально возможное число, которое эти 9 цифр могут представлять. Поэтому самое высокое значение 1 1111 1111, которое равно 511 в десятичной системе. Я заключаю, что поэтому 9 цифр двоичного кода могут представлять 511 разных значений.

Правильно ли мой мыслительный процесс? Если нет, может ли кто-нибудь объяснить, что мне не хватает? Как я могу обобщить его на бит n?

4b9b3361

Ответ 1

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 k-1 до 2 k-1 -1

Ответ 2

Что вам не хватает: Zero - это значение

Ответ 3

Лучший способ решить это - начать небольшой.

Давайте начнем с 1 бит. Это может быть 1 или 0. Это 2 значения, или 10 в двоичном формате.

Теперь два бита, которые могут быть 00, 01, 10 или 11 Это 4 значения или 100 в двоичном формате... См. шаблон?

Ответ 4

Хорошо, так как он уже "просочился": вам не хватает нуля, поэтому правильный ответ 512 (511 - самый большой, но от 0 до 511, а не от 1 до 511).

Кстати, хорошим упражнением было бы обобщение этого:

How many different values can be represented in n binary digits (bits)?

Ответ 5

Не желая дать вам ответ, вот логика.

У вас есть 2 возможных значения в каждой цифре. у вас их 9.

как в базе 10, где у вас есть 10 разных значений по цифре, говорят, что у вас есть 2 из них (что составляет от 0 до 99): от 0 до 99 составляет 100 номеров. если вы выполняете вычисление, у вас есть экспоненциальная функция

base^numberOfDigits:
10^2 = 100 ;
2^9 = 512

Ответ 6

Там более простой способ подумать об этом. Начните с 1 бит. Это, очевидно, может представлять 2 значения (0 или 1). Что происходит, когда мы добавляем немного? Теперь мы можем представить в два раза больше значений: значения, которые мы могли бы представить ранее, с добавлением 0 и значениями, которые мы могли бы представить с помощью добавления 1.

Таким образом, число значений, которые мы можем представить с n битами, равно 2 ^ n (2 до степени n)

Ответ 7

То, что вам не хватает, - это какая схема кодирования используется. Существуют различные способы кодирования двоичных чисел. Посмотрите на подписанные числа. Для 9 бит диапазоны и количество номеров, которые могут быть представлены, будут различаться в зависимости от используемой системы.

Ответ 8

(Как правило, с помощью k битов вы можете представлять 2 ^ k значений.) Можем ли мы рассмотреть это правило для других основ, таких как троичные, десятичные... и т.д.? например, сколько значений может быть представлено 7-значным троичным? а на 17 цифр с базой 7?