Representação de números binários negativos

Propaganda
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
Download