Upload
nuno-carvalho
View
87
Download
4
Embed Size (px)
Citation preview
SDAC Sistemas Digitais e Arquitectura de Computadores
1
Módulo 1
Sistemas de Numeração 30 Horas
SDAC Sistemas Digitais e Arquitectura de Computadores
2
Índice
Conteúdo ..................................................................................................................................................... 4
Objectivos de Aprendizagem ....................................................................................................... 4
Estrutura de um sistema de Numeração. ...................................................................................5
Noção de símbolo e noção de número como uma sequência de símbolos, onde os símbolos
têm significância posicional. ......................................................................................................5
Fórmula geral de significância posicional num sistema de base B. ................................................ 6
Principais Sistemas de Numeração utilizados ............................................................................... 6
Conversão de números representados em qualquer base para a base decimal, usando a fórmula
geral de significância posicional................................................................................................... 10
Exercícios .................................................................................................................................... 11
Conversão de números em decimal para outras bases de numeração através do método das
divisões sucessivas. ..................................................................................................................... 12
Exercícios .................................................................................................................................... 12
Exercícios .................................................................................................................................... 13
Exercícios .................................................................................................................................... 14
Exercícios .................................................................................................................................... 15
Exercícios .................................................................................................................................... 16
Resumo ....................................................................................................................................... 17
.................................................................................................................................................... 17
Operações aritméticas (adição e subtracção) em qualquer base (base binária em particular). ..... 18
Somar em binário .................................................................................................................... 18
Exercícios .................................................................................................................................... 18
Somar em Octal (Em Base 8) ................................................................................................... 19
Exercícios .................................................................................................................................... 19
Subtrair em binário .................................................................................................................. 21
Exercícios .................................................................................................................................... 21
Multiplicação no sistema binário.............................................................................................. 21
Exercícios ................................................................................................................................... 22
Notação de números Binários Positivos e Negativos ............................................................... 23
Exercícios .................................................................................................................................... 23
SDAC Sistemas Digitais e Arquitectura de Computadores
3
O complemento a 1 ................................................................................................................ 24
O complemento a 2 ................................................................................................................. 25
Adição e subtracção de números em código de complementos. .............................................. 25
Bibliografia ................................................................................................................................. 28
SDAC Sistemas Digitais e Arquitectura de Computadores
4
Objectivos de Aprendizagem
Conhecer a estrutura de um Sistema de Numeração e os principais Sistemas de Numeração
Efectuar a conversão de números entre os vários sistemas de numeração.
Efectuar operações aritméticas (adição e subtracção) em qualquer base de numeração.
Representar números relativos (positivos e negativos) em código de complementos.
SDAC Sistemas Digitais e Arquitectura de Computadores
5
Estrutura de um sistema de Numeração.
Nos sistemas digitais, recorre-se com frequência a diferentes sistemas de numeração para
representar a informação digital.
Noção de símbolo e noção de número como uma sequência de símbolos, onde os
símbolos têm significância posicional.
Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado
instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais
diferenciaram-se dos números do mesmo modo que as palavras se diferenciaram das coisas a
que se referem. Os símbolos "11", "onze" e "XI" (onze em latim) são numerais diferentes,
representativos do mesmo número, apenas escrito em idiomas e épocas diferentes. Este artigo
debruça-se sobre os vários aspectos dos sistemas de numerais. Ver também nomes dos números.
Um sistema de numeração, (ou sistema numeral) é um sistema em que um conjunto de números
é representado por numerais de uma forma consistente. Pode ser visto como o contexto que
permite ao numeral "11" ser interpretado como o numeral romano para dois, o numeral binário
para três ou o numeral decimal para onze.
Em condições ideais, um sistema de numeração deve:
• Representar uma grande quantidade de números úteis (ex.: todos os números
inteiros, ou todos os números reais);
• Dar a cada número representado uma única descrição (ou pelo menos uma
representação padrão);
• Refletir as estruturas algébricas e aritméticas dos números.
Por exemplo, a representação comum decimal dos números inteiros fornece a cada número
inteiro uma representação única como uma sequência finita de algarismos, com as operações
aritméticas (adição, subtração, multiplicação e divisão) estando presentes como os algoritmos
padrões da aritmética. Contudo, quando a representação decimal é usada para os números
racionais ou para os números reais, a representação deixa de ser padronizada: muitos números
racionais têm dois tipos de numerais, um padrão que tem fim (por exemplo 2,31), e outro que
repete-se periodicamente (como 2,30999999...).
A representação numérica comum utiliza a base 10. Isso significa que existem 10 símbolos (ou
dígitos) diferentes, representados pelos símbolos de 0 a 9. Utilizando apenas estes algarismos
podemos representar qualquer número.
Começando pelos números mais simples, representáveis apenas por um dígito, temos:
0, 1, 2, …, 9, 10
SDAC Sistemas Digitais e Arquitectura de Computadores
6
Fórmula geral de significância posicional num sistema de base B.
Em suma, da direita para a esquerda: um algarismo na primeira posição vale por si próprio, na
segunda vale pela base, na terceira pela base ao quadrado, na quarta pela base ao cubo e assim
sucessivamente.
Por exemplo na base decimal (base 10):
8317(10) vale 8 x 103 + 3 x 102 + 1 x 101 + 7 x 100
Uma vez que 100 é 1, podemos simplificar a representação:
8317(10) vale 8x103 + 3x102+ 1x10 + 7
Em concordância com esta notação designamos as posições, da direita para esquerda, por
posição 0, 1, 2 e assim sucessivamente. E designamos a potência respectiva por peso. Assim,
dizemos que um algarismo na posição 0 tem peso 100, ou seja 1; na posição 1 tem peso 101, ou
seja 10; na posição 2 tem peso 102 ou seja 100, etc.
Genericamente, um dígito di na posição i tem peso 10i, ou seja, vale
di x 10i
O termo geral para o valor de um número em qualquer base na posição i tem o peso da base i, ou
seja vale:
di x basei
Exemplos:
25 = 2×10 + 5
367 = 3×102 + 6×10 + 7
2745 = 2×103 + 7×102 + 4×10 + 5
Principais Sistemas de Numeração utilizados
Sistema decimal (base 10)
A representação numérica comum utiliza a base 10. Isso significa que existem 10 algarismos (ou
dígitos) diferentes, representados pelos símbolos de 0 a 9. Utilizando apenas estes algarismos
podemos representar qualquer número. Começando pelos números mais simples, representáveis
apenas por um dígito, temos:
0, 1, 2, …, 9, 10
SDAC Sistemas Digitais e Arquitectura de Computadores
7
Ao passar de ‘9’ para ‘10’ ocorre o primeiro “incidente” na contagem: esgotou-se a capacidade de
representação de números apenas com um dígito – passamos a usar dois dígitos, em que o da
esquerda tem maior peso – neste caso tem o seu valor multiplicado por 10, ou seja, pelo valor da
base de numeração utilizada;
Continuando a contagem, temos:
…, 10, 11, 12, …, 18, 19, 20
Ao chegar a ‘19’ esgotaram-se os dígitos na posição com menor peso. Por isso aumenta-se ‘1’ na
posição seguinte; já contamos duas vezes a base, ou seja, vamos em 2×10.
Retomando a contagem:
…, 20, 21, 22, …, 97, 98, 99, 100
Ao passar de ‘99’ para ‘100’ esgotaram-se os dígitos na segunda posição; isso significa que
contámos 10 vezes a base, ou seja 10×10 = 102
. Um dígito na 3ª posição vale portanto a base ao quadrado.
…, 100, 101, …, 998, 999, 1000, …
A partir de ‘1000’, o dígito na quarta posição vale por 103
Sistema binário (base 2)
Especialmente importante, dado que é com esta representação com que os computadores
trabalham, é a base 2, que tem apenas dois dígitos: ‘0’ e ‘1’.
O processo de contagem é idêntico ao praticado em qualquer outra base. No entanto, e como
apenas existem dois dígitos nesta base, ao fazer uma contagem rapidamente aparecem
sequências com muitos dígitos, como será visto mais à frente. Começando a contagem:
0, 1, 10
Esgotada a capacidade de representação com um dígito, passam-se a usar dois dígitos; o dígito
da direita vale uma vez a base, ou seja, vale 2;
…, 10, 11, 100
‘11’, é o maior número representável com apenas dois dígitos. Em ‘100’ passamos a ter três
dígitos em que o da esquerda vale a base ao quadrado (22);
…, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, …
E poder-se-ia continuar indefinidamente. Repare que na representação ‘1000’, o ‘1’ da esquerda
vale pela base ao cubo (23); e em ‘10000’, o dígito da esquerda vale pela base à quarta (24).
SDAC Sistemas Digitais e Arquitectura de Computadores
8
Sistema octal (base 8)
O que foi visto para a base 10 generaliza-se facilmente para outras bases. Considerando por
exemplo a base 8, em vez de 10 dígitos, passamos a ter agora 8 dígitos – e para não inventar o
que já está inventado, vamos representá-los pelos símbolos de ‘0’ a ‘7’. O processo de contagem
é em tudo semelhante ao usado em base 10. Começamos com os números representáveis apenas
com um algarismo, que agora vão apenas até ‘7’:
0, 1, 2, 3, 4, 5, 6, 7
Na base 8, o último número representável com apenas um algarismo será portanto o ‘7’. O
número que se segue na contagem será o ‘10’ (que tem o valor 1×8 + 0 = 8) . Sendo assim a nossa
sequência de contagem é:
…, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20
Repare que ao chegar a ‘17’ mais uma vez se esgotaram os dígitos na posição com menos peso:
aumenta-se 1 na posição seguinte; já contamos 2 vezes a base, ou seja, vamos em 2 × base (e o
valor é 2×8);
Seguindo a contagem:
…, 20, 21, 22, …, 75, 76, 77
Repare que o ‘77’ será o maior número com 2 dígitos representável em base 8 (e o seu valor é 7×8
+ 7 = 63). A seguir ao ‘77’ virá então o número representado por ‘100’ – contámos base×base
vezes; o dígito ‘1’ na terceira posição vale a base ao quadrado (neste caso 2×82).
E seguindo este raciocínio poderíamos continuar a contagem indefinidamente:
…, 77, 100, 101, 102, …, 107, 110, 111, …, 117, 120, 121, …, 775, 776, 777, 1000, …
Sistema hexadecimal (base 16)
Vamos agora considerar a base 16. Na base 16 teremos 16 dígitos; os primeiros 10 são
representados da maneira habitual, isto é, usando os algarismos de ‘0’ a ‘9’; a partir daí são
usadas as primeiras letras do alfabeto: ‘A’, ‘B’, ‘C’, ‘D’, ‘E’ e ‘F’.
O processo de contagem é em tudo semelhante ao que foi visto até este ponto. A única
particularidade é que agora os números representáveis com um dígito vão até ao ‘F’ (cujo valor é
15):
0, 1, 2, …, 9, A, B, C, D, E, F
SDAC Sistemas Digitais e Arquitectura de Computadores
9
Repare agora que depois do ‘9’ não se passou nada de especial, pois ainda há o ‘A’ (cujo valor é
10), depois o ‘B’ (cujo valor é 11), e assim sucessivamente até ao ‘F’, que será o maior número
representável com apenas um algarismo na base 16.
Continuando a contagem:
…, E, F, 10
Ao chegar a ‘F’ esgotaram-se os dígitos, logo esgotou-se a capacidade de representação de
números só com um dígito – passam-se a ter que usar dois dígitos. Na representação ‘10’, o ‘1’ da
esquerda vale a base (o valor de ‘10’ na base 16 será portanto 1×16 + 0 = 16);
…, 10, 11, 12, …, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20
Em ‘20’ contámos duas vezes o número de dígitos; vamos em 2×base (e o valor respectivo é 2×16
= 32).
…, 20, 21, …, 99, 9A, 9B, 9C, 9D, 9E, 9F, A0, A1, … FC, FD, FE, FF, 100
O número representado por ‘FF’ é o maior valor representado com 2 dígitos na base 16. O seu
valor é 15×16+15 = 255. Na representação hexadecimal ‘100’, o ‘1’ da esquerda vale por 162.
Tabela com as representações das várias bases numéricas.
SDAC Sistemas Digitais e Arquitectura de Computadores
10
Conversão de números representados em qualquer base para a base decimal,
usando a fórmula geral de significância posicional.
O conceito de representação numérica apresentado para a base decimal generaliza-se facilmente
para outras bases. Em qualquer base um número representa-se como uma sequência de dígitos.
Sendo B a base, um dígito di na posição i tem peso Bi ou seja vale:
di × Bi
Em geral, para um dado um número com os dígitos:
dn dn-1 ... d2 d1 d0 ,
o seu valor numérico, dada a base B, é:
dn×Bn + dn-1×Bn-1 + ... + d2×B2 + d1×B1 + d0×B0
Para clarificar a representação e evitar ambiguidades, pode-se explicitar a base de numeração
usando a seguinte notação:
(312)10 – a sequência de dígitos 312 na base 10;
(312)8 – a sequência de dígitos 312 na base 8;
(312)16 – a sequência de dígitos 312 na base 16.
O valor respectivo de cada um (em decimal) é o que resulta da expressão anterior. Assim:
(312)10 = 3×102 + 1×101+ 2×100
(312)8 = 3×82 + 1×81 + 2×80
(312)16 = 3×162+ 1×161 + 2×160
Obviamente os três números representados têm valores diferentes – a representação e o valor
correspondente são coisas distintas. Em geral, sequências de dígitos iguais em bases diferentes
representam valores diferentes (só serão os mesmos caso tenham apenas um dígito). Pode
confirmar, por exemplo, que:
(312)10 = (470)8 = (138)16 = (100111000)2
(202)10 = (312)8 = (CA)16 = (11001010)2
(786)10 = (1422)8 = (312)16 = (1100010010)2
SDAC Sistemas Digitais e Arquitectura de Computadores
11
Exercícios
1. Converta os seguintes números em base binária para a base decimal:
a. 10
b. 110
c. 111
d. 1100
e. 1101
f. 1111
g. 10000
h. 101010
i. 110010
j. 100101
k. 1101100
l. 11110011
m. 10100110
2. Converta os seguintes números em base octal para a base decimal:
a. 20
b. 25
c. 45
d. 154
e. 363
f. 456
g. 1234
h. 3456
i. 73457
3. Converta os seguintes números em base hexadecimal para a base decimal:
a. A
b. 10
c. 102
d. 1BC
e. AAB
f. C157
g. 237F
h. FFFA0
i. ABCDEF
SDAC Sistemas Digitais e Arquitectura de Computadores
12
Conversão de números em decimal para outras bases de numeração através do
método das divisões sucessivas.
Decimal para Binário
Faremos divisões inteiras por 2 até não podermos dividir mais o número, o resultado será a
sequência dos valores do resto, sendo o primeiro resto o valor menos significativo.
Por exemplo:
Exercícios
Converta os seguintes números em base decimal para a base binária:
a. 20(10)
b. 25(10)
c. 48 (10)
d. 154 (10)
e. 363 (10)
f. 459(10)
g. 1234(10)
h. 3456(10)
i. 83457(10)
j. 343456(10)
k. 8344957(10)
SDAC Sistemas Digitais e Arquitectura de Computadores
13
Decimal para octal
Faremos divisões inteiras por 8 até não conseguirmos dividir mais o número, o resultado será a
sequência dos valores do resto, sendo o primeiro resto o valor menos significativo.
Por exemplo:
Exercícios
Converta os seguintes números em base decimal para a base octal:
a. 20(10) – 24(8)
b. 25(10) – 31(8)
c. 48 (10) – 60 (8)
d. 154 (10) – 232(8)
e. 363 (10) – 553(8)
f. 459(10) – 713(8)
g. 1234(10) – 2322(8)
h. 3456(10) – 6600(8)
i. 83457(10) - 243001 (8)
j. 343456(10) – 1236640 (8)
k. 8344957(10) – 37652575 (8)
SDAC Sistemas Digitais e Arquitectura de Computadores
14
Decimal para Hexadecimal
Faremos divisões inteiras por 16 até não conseguirmos dividir mais o número, o resultado será a
sequência dos valores do resto, sendo o primeiro resto o valor menos significativo se algum valor
de resto for superior a 9 teremos de converte-o para o símbolo respectivo.
Por exemplo:
Exercícios
Converta os seguintes números na base decimal para a base Hexadecimal:
1. 10(10) – A(16)
2. 115(10) – 73(16)
3. 236(10) – EC(16)
4. 333(10) - 14D(16)
5. 450(10) – 1C2(16)
6. 1033(10) -409(16)
7. 4120(10) – 1018 (16)
8. 33453(10) - 82AD(16)
9. 45340(10) - B11C (16)
10. 224550(10) - 36D26 (16)
SDAC Sistemas Digitais e Arquitectura de Computadores
15
Octal para binário Neste tipo de conversões para cada número em octal criamos grupos de três dígitos, uma vez
que o maior número que podemos representar com 3 dígitos em binário é o 7.
Exercícios
Converta os seguintes números na base octal para a base binária:
1. 14(8)
2. 45 (8)
3. 154 (8)
4. 363 (8)
5. 123(8)
6. 1544 (8)
7. 3633 (8)
8. 12233(8)
Converta os seguintes números na base binária para a base octal:
1. 1101
2. 1111
3. 10000
4. 101010
5. 110010
6. 1101100
7. 11110011
8. 101001110
9. 110000110001100
10. 110100110001100
11. 1101001100011000
SDAC Sistemas Digitais e Arquitectura de Computadores
16
Hexadecimal para binário
Neste tipo de conversões para cada número em hexadecimal criamos grupos de quatro dígitos,
uma vez que o maior número que podemos representar com 4 dígitos em binário é o 15.
Exercícios
Converta os seguintes números da base Hexadecimal para a base binária
a. AB(16)
b. 10(16)
c. 102(16)
d. 1BC(16)
e. AAB(16)
f. C157(16)
g. 237F(16)
h. FFFA0(16)
i. ABCDEF(16)
Converta os seguintes números na base binária para a base Hexadecimal:
a. 1101
b. 1111
c. 10000
d. 101010
e. 110010
f. 1101100
SDAC Sistemas Digitais e Arquitectura de Computadores
17
g. 11110011
h. 101001110
i. 110000110001100
j. 110100110001100
k. 1101001100011001
Resumo
SDAC Sistemas Digitais e Arquitectura de Computadores
18
Operações aritméticas (adição e subtracção) em qualquer base (base binária em
particular).
Somar em binário
As operações em binário são em tudo semelhantes às decimais. A exiguidade do número de
dígitos faz com que as operações sejam muito apuradas.
Exemplo:
0+1 dá 1;
1+1 dá 0 e vai 1;
1+1+1 dá 1 e vai 1;
Na prática tudo se resume a saber somar dois dígitos ou, no máximo, três, quando há transporte.
Exercícios
Efectue as seguintes somas em binário:
a) 10001+1111
b) 111001+1001011
c) 1011111+ 1110011
d) 1101011+1011001
e) 110011+10010110
f) 10101110+11101110
g) 100000+111000011
h) 1011001+110110011
SDAC Sistemas Digitais e Arquitectura de Computadores
19
Somar em Octal (Em Base 8)
Consiste em processo semelhante ao da aritmética binária, com exceção do fato de que, neste
caso, tem-se algarismos disponíveis. Ocorrerá “vai 1” quando a soma de 2 algarismos for igual ou
ultrapassar o valor da base, isto é, 8.
Exemplo 3.11 (adição)
111 3657 + 1741 5620
Da direita para a esquerda, temos:
a) 7 + 1 = 8
Como não há algarismo 8 na base 8, emprega-se o conceito posicional, isto é, 8 unidades de uma
ordem i valem 1 unidade da ordem imediatamente à esquerda. Então: fica ø =
8 - 8 e “vai 1” para a esquerda.
b) 1 (vai 1 vindo da ordem à direita) + 5 + 4 = 10 Utilizando o mesmo conceito anterior, temos: 15
10 — 8 2 e “vai 1” (que é igual a 8).
c) 1 (vai 1) + 6 + 7 = 14
14 - 8 = 6 e ”vai 1”
d) 1 + 3 + 1 = 5 Não há “vai 1” porque não se excedem 7. Resultado: 5620(8)
Exercícios
Efectue as seguintes Adições em octal:
24536 + 25436
5342+2653
53477+76655
663552+6464764
SDAC Sistemas Digitais e Arquitectura de Computadores
20
764710373+7722236637
SDAC Sistemas Digitais e Arquitectura de Computadores
21
Subtrair em binário
Na subtracção as possibilidades também são muito
limitadas.
Exemplo:
1 para 1 dá 0;
1 para 0 dá 1, e vai 1;
1 e 1 dá 0 (ou seja 10) para 1 (ou seja 11) dá 1 e vai 1;
1 e 0 dá 1 para 1 dá 0;
Exercícios
Efectue as seguintes subtracções em binário:
a) 10001-1111
b) 111001-100
c) 1011111- 1110
d) 1101011-1011
e) 110011-10010
f) 10101110-111011
g) 10000000-1110000
h) 10110010-1101100
i) 1101110011-11001110
Multiplicação no sistema binário
Análoga ao caso decimal. Agora os casos possíveis são:
SDAC Sistemas Digitais e Arquitectura de Computadores
22
a) 0x0 = 0 b) 0x1 = 0 c) 1x0 = 0 e d) 1x1 = 1
• Exemplificando, efetuar 111102 x 112
• Outro exemplo, efetuar 11012 x 102
Exercícios
Efectue as seguintes multiplicações em binário:
a) 10001 x 11 b) 111001 x 10 c) 1011111 x 11 d) 1101011 x 101 e) 110011 x 100 f) 1100110 x 111
SDAC Sistemas Digitais e Arquitectura de Computadores
23
g)11111 x 1111
Representação de números relativos (positivos e negativos), usando código de
complementos.
Notação de números Binários Positivos e Negativos
Em aplicações práticas, os números binários devem ser representados com sinal. Uma maneira
de fazer isto é adicionar um bit de sinal ao número.
Este bit é adicionado à esquerda do número, por convenção se for zero, o número em questão é
positivo, caso seja 1, o número é negativo.
Este processo é denominado sinal-módulo.
• Vamos ver alguns exemplos:
– Representar em binários sinal-módulo os números 2310 , -1510 , 1110 e -910 usando
palavras de 8 bits.
23(10) = 10111(2) usando 8 bits temos: 000101112
15(10) = 1111(2) usando 8 bits temos: 000011112 como o sinal é negativo vem –1510 = 100011112.
11(10) = 1011(2) usando 8 bits temos: 000010112
9(10) = 1001(2) usando 8 bits temos: 000010012 , como o sinal é negativo vem –910 = 100010012
Exercícios
Efectue as seguintes representações de números decimais em binário sinal-módulo 8 bits:
1. -20(10)
2. -100(10)
3. 156(10)
4. -200(10)
5. 201(10)
6. -3000(10)
7. 4356(10)
SDAC Sistemas Digitais e Arquitectura de Computadores
24
O complemento a 1
1. Represente o número absoluto (sem o sinal) em binário, com o número de bits solicitado
(completando com 0s zeros à esquerda).
2. Caso o número seja positivo, não há alteração (o número já está representado).
3. Caso o número seja negativo, complementa-se o número a 1 (inverte-se o valor dos bits
→ todos os bit’s zero passam a 1 e todos bit 1 passa a zero )
Para descobrir o valor de um número representado em complemento para um deverá proceder-
se de forma inversa, segundo este algoritmo:
1. Verifica-se o primeiro bit (que ainda tem como função dizer qual é o sinal do número)
2. Caso o número seja positivo (primeiro bit = 0), apenas converte-se para decimal para
“descobrir” o número.
3. Caso o número seja negativo (primeiro bit = 1)
3.1. Invertem-se os bits do número (retorno do complemento a 1)
3.2. Converte-se o valor do número em decimal. (Não esquecendo que o número é
NEGATIVO)
SDAC Sistemas Digitais e Arquitectura de Computadores
25
O complemento a 2
1. Represente o número absoluto (sem o sinal) em binário, com o número de bits solicitado
(completando com zeros à esquerda).
2. Caso o número seja positivo, não há alteração (o número já está representado)
3. Caso o número seja negativo,
3.1. Complementa-se o número a 1, invertendo o valor dos bits (complemento a 1)
3.2. Soma-se 1 ao resultado do complemento a 1
Para “descobrir” o valor de um número representado em complemento de 2, deve-se percorrer o
caminho contrário, seguindo-se o algoritmo a seguir:
1. Verifica-se o primeiro bit (que ainda tem como função dizer qual é o sinal do número)
2. Caso o número seja positivo (primeiro bit = 0), apenas converte-se para decimal para
'descobrir' o número
3. Caso o número seja negativo (primeiro bit = 1)
3.1. Subtrai-se 1 do número (transformando em complemento a 1)
3.2. Invertem-se os bits do número (retorno do complemento a 1) e
3.3. Converte-se o valor do número em decimal. (Não esquecendo que o número é
NEGATIVO)
SDAC Sistemas Digitais e Arquitectura de Computadores
26
Adição e subtracção de números em código de complementos.
Complemento para um
Regras:
1. Caso o nº positivo tenha maior valor absoluto que o negativo: a. Ignorar o último transporte b. Somar 1 ao resultado
Exemplos:
1. 12-4 2. 20-5 3. 32-23 4. 20-19
2. Caso o nº negativo tenha maior valor absoluto que o positivo: a. O resultado está correctamente representado em complemento para um.
Exemplos:
1. 12-14 2. 20-50 3. 32-45 4. 20-29
3. Ambos os nºs negativos: a. Somar mais 1 ao resultado
Exemplos:
1. -12-14 2. -20-50 3. -32-45 4. -20-29
4. Ambos os nºs positivos a. O resultado já está em complemento para 1, pode haver necessidade de
acrescentar um zero à esquerda
Exemplos:
1. 12+ 14 2. 20+50
SDAC Sistemas Digitais e Arquitectura de Computadores
27
Complemento para dois
1. Caso o número positivo tenha maior valor absoluto que o negativo: a. Ignorar o ultimo transporte b. Complementar para 2 o resultado
i. Exemplos: 1. 12-4 2. 20-5 3. 32-23 4. 20-19
2. Caso o nº negativo tenha maior valor absoluto que o positivo: a. O resultado já está correctamente representado em complemento para 2.
Exemplos:
1. 12-14 2. 20-50 3. 32-45 4. 20-29
3. Ambos os nºs negativos: a. O resultado já está correctamente representado em complemento para 2.
Exemplos:
1. -12-14 2. -20-50 3. -32-45 4. -20-29
4. Ambos os nºs positivos a. O resultado já está em complemento para 2, pode haver necessidade de
acrescentar um zero à esquerda
Exemplos:
1. 12+ 14 2. 20+50
SDAC Sistemas Digitais e Arquitectura de Computadores
28
Bibliografia sistemas de numeração. (s.d.). Obtido de Wikipedia:
http://pt.wikipedia.org/wiki/Sistema_de_numera%C3%A7%C3%A3o