- ( 0,5 pontos) Que número decimal esse número binário em complemento de dois representa: 1111
?
Passo 1
O enunciado pede: “Que número decimal esse número binário em complemento de dois representa:
?”\n
Informações fornecidas que eu vou usar: \n
Informações fornecidas que eu vou usar: \n
- O número binário dado (em complemento de dois) é
.\n - Não há indicação de outra largura, então devo trabalhar com a largura implícita pelo próprio número de bits dado (contar os bits).\n
Passo 2
Contagem do número de bits (para fixar a largura
do complemento de dois):\n
A parte depois do primeiro espaço tem
bits (
é
bits) e a primeira parte tem
bits (
). Logo a largura total é
bits.\n
Portanto o número é um inteiro em complemento de dois com
bits:
(juntei as partes para ficar uma sequência contínua de
bits).
Passo 3
Verificar o sinal pela regra do complemento de dois:\n
- Em complemento de dois, o bit mais significativo (MSB) indica o sinal: se MSB
o número é não-negativo; se MSB o número é negativo.\n
Aqui o MSB é(o primeiro bit da esquerda é ), então o número é negativo. Para obter o valor decimal absoluto usamos o procedimento padrão: inverter os bits e somar (isto é, calcular o complemento de dois novamente) para obter a magnitude em binário.
Passo 4
Escrever o número agrupado em nibbles para visualizar melhor e então inverter os bits:\n
Agrupando em blocos de 4 (da esquerda para a direita) temos\n
Agrupando em blocos de 4 (da esquerda para a direita) temos\n
Agora inverto cada bit (0 vira 1, 1 vira 0). A inversão dá\n
Expliquei: cada nibble
virou
, o nibble
virou
e o último
virou
.
Passo 5
Somar
ao resultado da inversão para obter a magnitude (procedimento do complemento de dois):\n
Agora converter essa magnitude binária para decimal. Observe os últimos 8 bits:\n
Como todos os outros bits à esquerda são zeros, a magnitude é
.
Passo 6
Concluir o sinal: como determinamos no Passo 3 que o número original é negativo, o valor decimal representado é o negativo da magnitude encontrada.\n
Logo o número decimal representado é .
Logo o número decimal representado é