Determinado microprocessador tem palavras de 1 byte. Qual é o menor e o maior inteiro que pode ser representado nas seguintes representações:
Sem sinal
Sinal-magnitude
Complemento a um
Complemento a dois

Passo 1

O enunciado pede: para um microprocessador cuja palavra tem 1 byte, determinar o menor e o maior inteiro representáveis nas quatro representações seguintes:
  • Sem sinal (unsigned)
  • Sinal-magnitude (sign-magnitude)
  • Complemento a um (ones’ complement)
  • Complemento a dois (two’s complement)
Informações dadas no enunciado que usaremos:
  • Uma palavra tem 1 byte, ou seja, 8 bits.

Passo 2

Quantas combinações diferentes de bits há com 8 bits? Isso é básico e muito útil porque todas as representações usam esse total de padrões. A quantidade de padrões é dada por
2^{8}=256.
Ou seja, há 256 padrões de 0 e 1 possíveis para uma palavra de 8 bits.

Passo 3

Representação sem sinal (unsigned). Aula rápida: nesta representação todos os 8 bits são usados para o valor magnitude (não há bit de sinal). O menor inteiro é 0 (todos os bits zero) e o maior é quando todos os bits são 1. O valor máximo é
2^{8}-1=256-1=255.
Portanto, na representação sem sinal o intervalo é de 0 até 255.
Exemplo binário: maior =011111111 — cuidado: com 8 bits maior é \,11111111_2 que equivale a 255.

Passo 4

Representação sinal-magnitude (sign-magnitude). Explicação passo a passo: nesta representação o bit mais significativo (MSB) é o bit de sinal ( 0 para positivo, 1 para negativo) e os 7 bits restantes codificam a magnitude em binário puro. Assim, as magnitudes possíveis vão de 0 até 2^{7}-1. Calculamos:
\text{máxima magnitude} = 2^{7}-1 = 128-1 = 127.á
Consequências importantes (que sempre caem em prova): existe +0 e -0 (porque magnitude 0 com sinal 0 ou 1). O maior inteiro positivo representável é +127 e o menor inteiro (mais negativo) representável é -127.
Exemplos binários (com 8 bits):
+127 = 0\,1111111_2 = 01111111_2,
-127 = 1\,1111111_2 = 11111111_2,
+0 = 00000000_2,\quad -0 = 10000000_2.

Passo 5

Representação complemento a um (ones’ complement). Conceito e como operar: números positivos são representados como em binário normal com MSB 0. Para um número negativo, pega-se a representação binária do positivo correspondente e inverte-se todos os bits (bitwise NOT). Isso implica que também há dois zeros: +0 (todos zeros) e -0 (todos uns). Quantos valores distintos há para magnitudes não-nulas? Ainda 127 magnitudes positivas (de 1 a 127) e 127 magnitudes negativas (de -1 a -127), mais os dois zeros totalizando 256 padrões.
Logo o intervalo numérico é
-127\\ \text{até}\\\ +127.é
Exemplo binário:
+127 = 01111111_2,\quad -127 = \text{inverso de }01111111_2 = 10000000_2.
Observação importante para provas: a palavra 10000000_2 em complemento a um representa -127, enquanto em complemento a dois ela representa -128. Não confundir!

Passo 6

Representação complemento a dois (two’s complement). Conceito e fórmula: aqui o MSB também funciona como bit de sinal, mas a codificação é feita de tal maneira que há apenas um zero ( +0) e os valores vão assimétricos para negativos. Em n bits (aqui n=8) o intervalo é
-2^{\,n-1}\quad\text{até}\quad 2^{\,n-1}-1.é
Substituindo n=8:
\text{menor} = -2^{7} = -128,\qquad \text{maior} = 2^{7}-1 = 127.
Intuição prática: o menor valor é obtido com 1 seguido de 7 zeros em binário: 10000000_2 = -128. O maior positivo é com MSB 0 e os outros 7 bits iguais a 1: 01111111_2 = +127.
Como converter um negativo para complemento a dois: escreva a magnitude em binário, inverta os bits e some 1. Ex.: para -1 em 8 bits: 1 em binário = 00000001_2; inverter -> 11111110_2; somar 1 -> 11111111_2. Assim -1 = 11111111_2 em complemento a dois.

Passo 7

Recapitulando, com 8 bits (1 byte) e seguindo as definições acima, temos os intervalos pedidos. Você consegue decorar rápido na prova: para unsigned é 0 a 2^{8}-1; para sign-magnitude e ones’ complement é simétrico com amplitude 2^{7}-1 ( \pm127 com dois zeros em each caso); para two’s complement é assimétrico em que o mínimo é -2^{7} e o máximo 2^{7}-1.
Força aí — dá pra decorar e lembrar dos exemplos binários na hora! Boa sorte na prova 😉

Resposta

Sem sinal: menor = 0, maior = 255
Sinal-magnitude: menor = -127, maior = +127
Complemento a um: menor = -127, maior = +127
Complemento a dois: menor = -128, maior = +127

Exercícios relacionados