UNIFACS Introdução à Computação Prof. Othon Marcelo Nunes Batista Notas de Aula – 22/04/2015 Números Binários Negativos 35 e -73 35 = (100011)2 73 = (1001001)2 Notação Sinal-Módulo - Um número binário no meu computador tem 8 bits - Números positivos têm o primeiro bit zero - Números negativos têm o primeiro bit um 35 = (00100011)2 73 = (11001001)2 - Temos um bit de sinal e, nesse caso, sete bits para representar um número. - qual o maior número com 7 bits??? (1111111)2 = 127 - Duas representações para o número zero: (00000000)2 = 0 (10000000)2 = 0 Complemento de 2 - O complemento de 2 de um número binário é o complemento de 1 somado ao valor 1. - Cálculo do complemento de 1 73 = (1001001)2 - Forma 1 de calcular o complemento de 1: 1111111 - 1001001 --------0110110 - Forma 2 de calcular o complemento de 1: 1001001 ||||||| 0110110 - Forma única de calcular o complemento de 2: - some 1 ao complemento de 1 0110110 + 1 -------0110111 -> Complemento de 2 - O número -73 em complemento de 2, em binário, é (0110111)2 Uso do Complemento de 2 em Operações Aritméticas (11010111)2 – (100101)2 N1 - N2 = N1 + (-N2) -(11010111)2 – (00100101)2 00100101 |||||||| 11011010 -> complemento de 1 + 1 -------11011011 -> complemento de 2 11010111 + -------10110010 -> resultado da subtração 215 – 37 = 178 37 – 215 = ??? em binário (00100101)2 - (11010111)2 37 + (-215) 11010111 |||||||| 00101000 -> Complemento de 1 + 1 -------00101001 -> Complemento de 2 de 215 00100101 + -------01001110 -> -178 complemento de 2 |||||||| 10110001 -> Complemento de 1 + 1 -------10110010 -> 178 Faça em binário a subtração usando complemento de 2: (CA)16 – (7D)16 Se o resultado for negativo, apresente o resultado no formato sinal módulo. (CA)16 + (-7D)16 - Cada dígito hexadecimal equivale a quatro bits (C)16 =(1100)2 (A)16 =(1010)2 (7)16 =(0111)2 (D)16 =(1101)2 (CA)16 =(11001010)2 (7D)16 =(01111101)2 - Calculando o complemento de 2: 01111101 |||||||| 10000010 -> Complemento de 1 de 7D + 1 -------10000011 -> Complemento de 2 de 7D 11001010 + -------01001101 -> Resultado da subtração (01001101)2 = (4D)16 (CA)16 – (7D)16 = (4D)16 Subtração de dois números binários negativos -(11010111)2 – (00100101)2 (-11010111)2 + (-00100101)2 Complemento de 2 do primeiro 11010111 |||||||| 00101000 -> complemento de 1 + 1 -------00101001 -> complemento de 2 Complemento de 2 do segundo 00100101 |||||||| 11011010 -> complemento de 1 + 1 -------11011011 -> complemento de 2 Somando os dois números negativos 00101001 11011011 + -------00000100 -> o resultado está em complemento de 2 porque é negativo - Para obter o módulo do resultado, basta calcular o complemento de 2 00000100 |||||||| 11111011 -> Complemento de 1 + 1 -------11111100 = 252 - O resultado é -252