Quantos bits são necessários para representar cada um dos números seguintes.
Passo 1
O enunciado pede claramente: “Quantos bits são necessários para representar o número
?”
Informações dadas:
Informações dadas:
- O número a representar é
(base decimal), isto é, .
Não há nenhuma outra indicação (por exemplo, se é representação com sinal ou sem sinal).
Passo 2
Vamos entender o que significa “quantos bits são necessários”. Cada bit numa representação binária corresponde a uma potência de dois: o bit menos significativo vale
, o seguinte vale
, e assim por diante. Se tivermos
bits, sem sinal (ou seja, todos os bits usados para magnitudes não-negativas), os valores possíveis vão de
até
Portanto, para representar um inteiro não-negativo
precisamos encontrar o menor inteiro
que satisfaça
Uma forma equivalente e prática dessa condição é
onde
é o número a representar,
é o logaritmo na base
e
denota a parte inteira (piso). Explicando as variáveis:
-
= o inteiro não-negativo que queremos representar (aqui ); -
= número mínimo de bits necessários.
Pequeno detalhe útil: para
vale
(um bit para representar zero).
Passo 3
Aplicando a ideia acima ao caso
. Primeiro, comparar
com potências de dois simples:
Observe que
Isso implica que
. Usando a fórmula,
Logo, são necessários
bits para representar
em representação binária sem sinal.
Passo 4
Para fixar a intuição, vejamos a própria representação binária de
. Com
bits todos iguais a
temos o número
Verificando a soma das potências de dois:
Portanto,
usa exatamente
bits e vale
, o que confirma que
bits são suficientes e que menos de
bits não bastariam (pois com
bits o máximo é
).
Passo 5
Uma observação importante (para provas): se a questão pedisse representação com sinal usando complemento de dois, o número de bits necessário para armazenar o valor
pode ser diferente. Em complemento de dois,
bits permitem representar inteiros no intervalo
até
. Para conter
seria necessário ter
, o que dá
e portanto
. Assim:
- sem sinal (valor puro) o mínimo é
bits; - em complemento de dois (com sinal) são necessários
bits para acomodar no intervalo padrão.