Почему количество битов в бинарном представлении десятичного числа 16 == 5?
-
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 бит.