Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Aritmética binária Representação em complemento de 2 Representar usando 8 bits e em hexadecimal -30 000111102 → 111000012 + 1 = 111000102 (0xE2) -64 010000002 → 101111112 + 1 = 110000002 (0xC0) -100 011001002 → 100110112 + 1 = 100111002 (0x9C) -150 Fora do intervalo de representação usando 8 bits! (-128 a +127) 1 → 000111102 (30) → 010000002 (64) → 011001002 (100) → 100101102 (150) Aritmética binária Representação em complemento de 2 Extensão de sinal Usada para manter o valor correto do número quando ele é convertido para uma representação com mais bits O bit de sinal é replicado a fim de preencher os demais bits Exemplo: representar os números usando 8 bits 11112 (-1) → 111111112 (-1) 01112 (7) → 000001112 (7) Obsevação importante Preencher bits com 0 muda o sinal de um número negativo 11112 (-1) → 000011112 (15) 2 Aritmética binária Representação em complemento de 2 Subtração A operação de subtração é realizada a partir de uma soma A – B ↔ A + (-B) Exemplo utilizando 4 bits para operandos e resultado 3 – 1 ↔ 3 + (-1) 7 – 8 ↔ 7 + (-8) 00112 (3) 01112 (7) + 11112 (-1) + 10002 (-8) 3 Aritmética binária Representação em complemento de 2 Subtração A operação de subtração é realizada a partir de uma soma A – B ↔ A + (-B) Exemplo utilizando 4 bits para operandos e resultado 3 – 1 ↔ 3 + (-1) 5 – 8 ↔ 5 + (-8) 1 1 1 1 00112 (3) 01112 (7) + 11112 (-1) + 10002 (-8) 00102 (2) 11112 (-1) 4 Não é “colocado” no resultado porque ele deve conter apenas 4 bits Aritmética binária Representação em complemento de 2 Overflow Exemplo utilizando 4 bits (operandos e resultado) Intervalo de representação usando 4 bits -(24-1) a (24-1-1) = -(23) a (23-1) = -8 a 7 5 Aritmética binária Representação em complemento de 2 Overflow Exemplo utilizando 4 bits (operandos e resultado) Intervalo de representação usando 4 bits -(24-1) a (24-1-1) = -(23) a (23-1) = -8 a 7 01112 (7) 11112 (-1) + 00102 (2) + 10002 (-8) 6 Aritmética binária Representação em complemento de 2 Overflow Exemplo utilizando 4 bits (operandos e resultado) Intervalo de representação usando 4 bits -(24-1) a (24-1-1) = -(23) a (23-1) = -8 a 7 1 1 1 01112 (7) 11112 (-1) + 00102 (2) + 10002 (-8) 10012 (-7) 01112 (7) 7 Aritmética binária Representação em complemento de 2 Overflow O overflow pode ser detectado de 2 maneiras diferentes Olhando os 2 últimos carries Se diferentes, ocorreu um overflow Sinais dos operandos e do resultado Se os sinais dos operandos são iguais e o do resultado diferente, ocorreu um overflow Exemplo utilizando 4 bits (operandos e resultado) 0 1 1 0 1 1 1 1 01112 (7) 00112 (3) + 00102 (2) + 11112 (-1) 10012 (-7) 00102 (2) 8 carries diferentes operandos com mesmo sinal e diferente do resultado Aritmética binária Representação em complemento de 2 Verificar a ocorrência de overflow 8 bits (-128 a 127) 101010002 + 101111012 011001012 (101) – overflow: -88 - 67 = -155 011010002 + 011011012 110101012 (-43) – overflow: 104 + 109 = 213 111111112 + 111111112 111111102 (-2) – ok: -1 + -1 = -2 100000012 + 011111112 000000002 (0) – ok: -127 + 127 = 0 Observação Soma com sinais diferentes nunca dá overflow 9
Compartilhar