Realize as seguintes transformações:
Converta os números
para código binário com 7 bits com sinal.
Converta os números
Passo 1
O que o enunciado pede: converter os números
e
para código binário com 7 bits com sinal. Informação dada: temos dois números decimais e um formato de saída — “7 bits com sinal” (ou seja, cada representação terá exatamente 7 bits, incluindo o bit de sinal).
Passo 2
Escolha do método: quando o enunciado pede “binário com
bits com sinal” sem especificar, o procedimento mais usado (e mais provável na prova) é o código em complemento de dois, porque é o formato padrão em computadores e em exercícios que pedem representação de números inteiros com sinal. Vou usar complemento de dois aqui. (Existem outras encodings possíveis — sinal-magnitude e complemento de um — mas elas têm faixas e tratamento parecidos quanto ao alcance máximo; explico abaixo por que não serve para
.)
Passo 3
Revisão rápida e didática do complemento de dois (o que você precisa saber para a prova):
- Com
bits no complemento de dois, a faixa de valores representáveis é
Aqui
é o número total de bits (incluindo o bit de sinal). O bit mais à esquerda tem peso
e os demais têm pesos
.
- Como converter:
- Para um número positivo (ou zero): escreva a sua representação binária normal e preencha com zeros à esquerda até ter
bits. - Para um número negativo: escolha uma das maneiras equivalentes:
- Calcule a representação binária de
em bits, inverta todos os bits (0↔1) e some — isso dá o complemento de dois. - Ou calcule
(já que é negativo), e escreva o resultado em bits.
- Calcule a representação binária de
- Para um número positivo (ou zero): escreva a sua representação binária normal e preencha com zeros à esquerda até ter
- Exemplo simples: com
, a faixa é a . O em 4 bits: , inverter → , somar 1 → .
Passo 4
Verificação da faixa para
:
- Calcule
. - Então a faixa é
ou seja
Qualquer número fora dessa faixa não pode ser representado em complemento de dois com 7 bits (vai ocorrer overflow / estouro).
Passo 5
Conversão de
(passo a passo):
- Decomposição em potências de dois:
. - Em binário isso é
(bits para ). - Precisamos de exatamente 7 bits, então preenchemos com zeros à esquerda até ter 7 bits:
- Confirmação de faixa:
está entre e , logo representável.
Passo 6
Tentativa de converter
e checagem de possibilidade:
- Pela faixa de
que achamos, só podemos representar valores entre e . - Como
, concluímos que NÃO é representável em 7 bits com sinal (nem em complemento de dois nem em sinal-magnitude nem em complemento de um — em todos esses formatos a magnitude máxima representável com 7 bits é ). - Portanto em 7 bits há estouro (overflow) e não existe um bit-pattern válido de 7 bits que corresponda a
.
Passo 7
Informação útil extra (para você levar à prova): quantos bits seriam necessários para representar
em complemento de dois?
- Precisamos de
tal que . -
(não basta), (já basta). Assim → . - Ou seja, com 8 bits dá para representar
. Só para completar, em 8 bits: -
. - Invertemos:
. - Somamos
: . - Logo
em 8 bits (complemento de dois) é .
-