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

StackOverflow https://stackoverflow.com/questions/4460288

  •  10-10-2019
  •  | 
  •  

Вопрос

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

Проблема:

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

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


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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

Decimal - 16 8 4 2 1
Binary -   1 0 0 0 0

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

Это классическая ошибка забора.

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

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

Но чтобы на самом деле содержать биты от 0 до 4, вам нужно 5 бит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top