Ivair José de Souza
É utilizada para
indicar um número com sinal.
MSB => Most Significant Bit (bit mais
significativo) é o bit mais à esquerda do número binário.
O bit mais significativo
(MSB) indica o sinal do número.
MSB
= 0 indica que o número é
positivo.
MSB
= 1 indica que o número é
negativo.
|
Sinal |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
|
Sinal |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
Para saber qual o valor do número decimal com sinal em
complemento 2 faz-se o seguinte:
I )
Para MSB = 0: Faz-se a operação normal isto é, soma-se os pesos dos
bits 1.
Neste caso, (MSB=0), o método utilizado é o mesmo
utilizado para sinal e magnitude
a) 0 1 1 0 0 1 0 0 => X = 64 + 32 + 4 = + 100
II ) Para
MSB = 1:
Some os pesos dos bits 1 (sem o
peso que teria o bit MSB).
Subtraia do resultado da soma o peso do bit MSB
. (Soma dos pesos para bit 1– peso do
MSB)
b) 1
1 0
1 1 0
0 1
=> X = (64 +16 +8
+1 – 128) temos 89 – 128 = -- 39
O valor 128
é o peso que teria o bit de sinal (MSB). Como MSB = 1, o número X é negativo.
1) Abaixo, converta para decimal os números em
complemento a 2.
msb
a) 1 0
0
1 0 0 0 0 =
--112
msb
b) 0 1
1
1 0 0 0 0 =
+112
c) 0 1
0 1 1
0 1
0 = +90
msb
d)
0 0
1 0 1 =
+ 5
e) 1
1
0 1
1 = -- 5
f) 1
0
1 0 0 1 0 =
--
g) 0 1
1 1 1
1 1
1 = +127
h) 1
0
0 0
0
0
0
1 = --127
i) 1
1
1 1
1
1
1
1 = --1
Os passos são os seguintes:
Se o número for negativo
faz-se:
1º passo: converta para binário,
de maneira normal, o número como se não tivesse sinal
2º passo: Inverta
todos os bits, trocando 1 por 0 e
0 por 1 para
obter o complemento 1
3º passo: Some
1 ao número obtido no passo 2 para obter o complemento
2
a) Converta o número -- 9 para a forma complemento a 2
(número com sinal)
1º passo: Converta somente o número 9 (esqueça o
sinal) para binário e obtém-se 0
0 0 0 1 0 0 1
2º passo: Inverta todos os bits e obtém-se 1 1 1 1 0
1 1 0 que é o complemento 1
3º passo: Somando
1 a 1 1 1 1 0 1 1 0
obtém-se 1 1 1 1 0 1 1 1
que é -- 9 em complemento 2
Repetindo: número decimal = -- 9
1º passo: 0 0 0 0 1 0 0 1 ( 9 em binário)
2º passo: Após inverter todos os bits ter-se-á
1 1 1 1 0 1 1 0 (complemento 1)
3º passo: Somando 1
a 1 1 1 1 0 1 1 0 e obtém-se
1 1 1 1 0 1 1 1 = -- 9
= -- 9
b) Converta o número decimal -7 para a forma complemento 2 (número com sinal)
1º passo: 0 1 1 1
(7 em bináro)
2º passo: Após inverter todos os bits ter-se-á 1 0 0 0
(complemento 1)
3º passo: Somando 1 a
1 0 0 0 obtém-se
1 0 0 1 = -- 7
=
--7
c) Converta o número 1 1 0 1 na forma complemento 2
para decimal.
1º passo: Inverta
todos os bits e obtenha 0 0 1 0
(complemento 1)
2º passo: Somando 1 a
0 0 1 0 tem-se
0 0 1 1 = 3 . Como no número 1 1 0 1 (complemento 2) MSB = 1 o número decimal 3 será negativo isto é, 1 1 0 1 =
-- 3
a) – 44 = .......................
1º passo: converta o valor 44 sem sinal para binário
44 = 0 0 1 0 1 1 0 0 (em binário)
2º passo:Inverta todos os bits isto é, faça o
complemento 1
1 1 0 1 0 0 1 1
3º passo: Some 1 ao número em complemento 1 (passo 2) e terá o
resultado final em complemento 2.
1 1 0 1 0 0 1 1 + 1 = 1 1 0 1 0 1
0 0
Resposta:
-- 44 = 1 1 0 1 0 1 0 0 (complemento
2)
b) +51
51 = 0 0 1 1 0 0 1 1
1) Abaixo, represente na forma complemento 2, os números
decimais com sinal.
a) – 45 = .........................
b) + 45
= .........................
c) –
23 = .........................
d) + 56
= .........................
Nota: Cada dígito hexadecimal corresponde a 4 bits em binário.
| Decimal | Hexadecimal | Binário (8 4 2 1) |
| 0 | 0 | 0 0 0 0 |
| 1 | 1 | 0 0 0 1 |
| 2 | 2 | 0 0 1 0 |
| 3 | 3 | 0 0 1 1 |
| 4 | 4 | 0 1 0 0 |
| 5 | 5 | 0 1 0 1 |
| 6 | 6 | 0 1 1 0 |
| 7 | 7 | 0 1 1 1 |
| 8 | 8 | 1 0 0 0 |
| 9 | 9 | 1 0 0 1 |
| 10 | A | 1 0 1 0 |
| 11 | B | 1 0 1 1 |
| 12 | C | 1 1 0 0 |
| 13 | D | 1 1 0 1 |
| 14 | E | 1 1 1 0 |
| 15 | F | 1 1 1 1 |
Adição
Regras para a adição
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 e vai 1
Para multiplicador = 0 (zero), o
produto parcial é sempre 0 (zero)
Para multiplicador = 1 (um),
tem-se o produto parcial igual ao multiplicando.
A cada parcela multiplicada,
desloca-se uma casa para a esquerda.
Soma-se os produtos parciais para se obter o produto final ou resultado final.
Os microprocessadores não possuem circuitos para a
subtração. Para efetuar a operação de subtração
utilizam um somador e números em complemento 2.
Exemplo: para a operação de subtração +9 – 5, primeiro obtém-se o completo 2 de –5 e faz se a soma como mostrado abaixo. Observe também os exemplos b e c.
Para somar em hexadecimal tem-se o
seguinte procedimento:
Se a soma de dois dígitos é
menor ou igual a 15 coloca-se o dígito correspondente à soma.
Se a soma é maior ou igual a 16,
o dígito será o valor excedente a 16
e vai 1 para a próxima coluna. Veja os exemplos abaixo.
Seja somar F + D:
Como F = 15
e D = 13 tem-se
15 + 13 = 28
28 – 16 = 12
=> coloca o dígito C (C
= 12) e vai 1 para a próxima casa.
O resultado será 1C que
corresponde a 28 em decimal. Então tem-se que F
+ D = 1 C
Exemplos