Perché il numero di bit nella rappresentazione binaria del numero decimale 16 == 5?

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

  •  10-10-2019
  •  | 
  •  

Domanda

Questa domanda non probabilmente non tipico StackOverflow, ma non sono sicuro dove chiedere questo piccolo mia domanda.

Problema:

Trova il numero di bit nella rappresentazione binaria del numero decimale 16?

Ora ho cercato di risolvere questo usando la formula $ 2 ^ n = 16 \ Rightarrow n = 4 $, ma la risposta corretta, come suggerito dal mio modulo è 5. Qualcuno potrebbe spiegare come?


Dopo aver letto qualche risposta, (e anche io avere più di 10 zecche prima che potessi accettare la risposta corretta) Penso che questo è probabilmente una spiegazione, che sarà coerente con la formula matematica,

Per rappresentare 16 dobbiamo rappresentare 17 simboli (0,16), quindi $ 2 ^ n = 17 \ Rightarrow n = 4,08,746 mila $ ma come n necessità di essere un valore intero $ n = 5 $

È stato utile?

Soluzione

Pensate a opere come binari:

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

In questo modo 16 sarebbe: 10000

Altri suggerimenti

Con 4 bit, è possibile rappresentare i numeri 0-15 .

Quindi sì, avete bisogno di 5 bit per rappresentare 16.

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

Quindi, per qualsiasi cosa fino a 31 decimale è necessario solo 5 bit.

Questo è un errore fencepost classica.

Come sapete, i computer, come per iniziare il conteggio da 0.

Quindi, per rappresentare 16, è necessario bit 0, 1, 2, 3 e 4 (= piano (log2 (16))).

Ma in realtà contiene i bit 0-4, avete bisogno di 5 bit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top