Почему количество бит в двоичном представлении десятичного числа 16 == 5? - PullRequest
1 голос
/ 16 декабря 2010

Этот вопрос, вероятно, не является типичным стековым потоком, но я не уверен, где задать этот мой маленький вопрос.

Проблема:

Найти количество бит в двоичном представлении десятичного числа 16?

Теперь я попытался решить эту проблему, используя формулу $ 2 ^ n = 16 \ Rightarrow n = 4 $, но правильный ответ, предложенный моим модулем, равен 5. Кто-нибудь может объяснить, как?


После прочтения некоторого ответа (а также у меня есть еще 10 минут, прежде чем я смог принять правильный ответ), я думаю, что это, вероятно, объяснение, которое будет соответствовать математической формуле

Для представления 16 нам нужно представить 17 символов (0,16), следовательно, $ 2 ^ n = 17 \ Rightarrow n = 4.08746 $, но так как n должно быть целым числом, то $ n = 5 $

Ответы [ 4 ]

3 голосов
/ 16 декабря 2010

Подумайте, как работает бинарный файл:

Bit 1: Add 1
Bit 2: Add 2
Bit 3: Add 4
Bit 4: Add 8
Bit 5: Add 16

Таким образом, 16 будет: 10000

2 голосов
/ 16 декабря 2010

С 4 битами вы можете представлять числа от 0 до 15 .

Так что да, вам нужно 5 бит для представления 16.

1 голос
/ 16 декабря 2010
Decimal - 16 8 4 2 1
Binary -   1 0 0 0 0

Так что для чего-то до десятичного 31 вам нужно только 5 бит.

0 голосов
/ 01 мая 2012

Это классическая ошибка фехтования.

Как вы знаете, компьютеры любят начинать считать с 0.

Таким образом, чтобы представить 16, вам нужны биты 0, 1, 2, 3 и4 (= floor (log2 (16))).

Но для того, чтобы фактически содержать биты от 0 до 4, нужно 5 бит.

...