Pourquoi le nombre de bits dans la représentation binaire du nombre décimal 16 == 5?

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

  •  10-10-2019
  •  | 
  •  

Question

Cette question ne probablement pas stackoverflow typique, mais je ne suis pas sûr où poser cette petite question à moi.

Problème:

  

Trouvez le nombre de bits dans la représentation binaire du nombre décimal 16?

Maintenant, j'essayé de résoudre celui-ci en utilisant la formule 2 $ ^ n = 16 \ Rightarrow n = 4 $, mais la bonne réponse tel que suggéré par mon module est 5. Quelqu'un pourrait expliquer comment?


Après avoir lu une réponse, (et je 10 autres bonbons à la menthe avant que je puisse accepter la bonne réponse) Je pense que cela est sans doute une explication, qui sera conforme à la formule mathématique,

Pour ce qui représente 16 nous devons représenter 17 symboles (0.16), donc 2 $ ^ n = 17 \ Rightarrow n = 4,08746 $ mais n besoin d'être un entier, alors n = 5 $ $

Était-ce utile?

La solution

Pensez à la façon dont fonctionne binaires:

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

Ainsi 16 serait: 10000

Autres conseils

Avec 4 bits, vous pouvez représenter des nombres de 0 à 15 .

Alors oui, vous avez besoin 5 bits pour représenter 16.

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

Donc, pour quoi que ce soit jusqu'à 31 décimales vous avez seulement besoin de 5 bits.

Ceci est une erreur de fencepost classique.

Comme vous le savez, les ordinateurs aiment commencer à compter de 0.

Donc, pour représenter 16, vous avez besoin bits 0, 1, 2, 3 et 4 (= étage (log2 (16))).

Mais pour contenir réellement bits 0 à 4, vous avez besoin de 5 bits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top