Instituto Federal de Educao, Cincia e Tecnologia Catarinense
Disciplina: Arquitetura de Computadores
Professor: Nildo Carlos da Silva Turma: BSI11 Ana Paula Reinecke Camilla Moreira Uchoa Larissa Rozza Peluso * Existem vrias regras que permitem ler e escrever qualquer nmero, usando poucas palavras e poucos smbolos.
* O conjunto de tais regras constitui um Sistema de Numerao. Estes sistemas, tm variado com as pocas e com os povos. Sistemas de Numerao Sistemas de Numerao Antigos Egpcio Babilnio
Romano
1.969 = MCMLXIX
Exemplos: Exemplos: Exemplos: I : um V: cinco X: dez L: cinqenta X: cem D: quinhentos M : mil 3 = III 9 = IX 21 = XXI 206 = CCVI
1.969 = MCMLXIX
Base de um Sistema
o nmero de elementos necessrios para formar um conjunto padro que auxilie a contagem de objetos. Assim, quando falamos em base 10, por exemplo, estamos pensando na formao de conjuntos com dez elementos, isto , dada uma coleo de objetos, procuramos saber quantos conjuntos de 10 podem ser formados. Bit menor partcula de informao no computador, pode representar 0 ou 1. Esses dois smbolos so opostos e mutuamente exclusivos.
Byte conjunto de 8 bits.
Existiram e existem diversos sistemas de numerao. No computador, serve para questes de endereamento, armazenamento, contedo de tabelas e representaes grficas. Bases diferentes usadas nos mais diversos computadores. Representao nas bases
* 101101 2 - 101101 na base 2 (binria)
* 752 8 - 752 na base 8 (octal)
* 651 - 651 na base 10 (decimal)
Quando no indicada a base, a base decimal. Mas poderia ser representado assim: 651 10
* 423 16 - 423 na base 16 (hexadecimal) Bases Binria 0, 1 Octal 0, 1, 2, 3, 4, 5, 6, 7 Decimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F SISTEMA DECIMAL Sistema decimal um sistema de numerao de base10, com dgitos decimais (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Considere o significado do nmero 83. Ele significa oito dezenas e trs unidades:
83 = (8 x 10) + 3 O nmero 4728 significa quatro milhares, sete centenas, duas dezenas e oito unidades:
4728 = (4 x 1000) + (7 x 100) + (2 x 10) + 8
O sistema decimal assim chamado por usar a base 10. Isso significa que cada dgito do nmero multiplicado por 10 elevado potncia correspondente a posio do dgito:
83 = (8 x 10) + (3 x 10 0 ) 4728 = (4 x 10) + (7 x 10) + (2 x 10) + (8 x 10 0 )
Valores fracionrios so representados do mesmo modo: 472,83 = (4 x 10) + (7 x 10) + (2 x 10) + (8 x 10 -1 ) + (3 x 10 -2 )
Em geral, para a representao decimal de X = {...x 2 x 1 x 0 ... x -1 x -2 x -3 ...}, o valor de X igual a:
X= x i 10 i
i
SISTEMA BINRIO No sistema decimal, so usados dez dgitos distintos para representar os nmeros na base 10. No sistema binrio, temos apenas dois dgitos, 1 e 0. Portanto, nmeros no sistema binrio so representados na base 2. Para evitar confuso, algumas vezes usamos um nmero subscrito para indicar a base do sistema de numerao adotado. Por exemplo, 83 10 e 4728 10 so nmeros representados na notao decimal, ou seja, nmeros decimais. Os dgitos 1 e 0, na notao binria, tm o mesmo significado que na notao decimal: 0 2 = 0 10
1 2 = 1 10
Para representar nmeros maiores, como na notao decimal, cada dgito de um nmero binrio tem um dado valor, dependendo de sua posio:
10 2 = (1 x 2 1 ) + (0 x 2) = 2 10
11 2 = (1 x 2 1 ) + (1 x 2) = 3 10
100 2 = (1 x 2 2 ) + (0 x 2 1 ) + (0 x 2) = 4 10
e assim por diante. Valores fracionrios so representados com potncias negativas da base: 1001,101 = 2 3 + 2 + 2 -1 + 2 -3 = 9,625 10
CONVERSO ENTRE NMEROS BINRIOS E DECIMAIS
A converso de um nmero na notao binria para a notao decimal simples. Basta multiplicar cada dgito binrio pela potncia de 2 adequada e somar os resultados. Para converter a notao decimal em notao binria, o nmero inteiro e a parte fracionria so tratados separadamente. Suponha que queremos converter um nmero inteiro decimal N para a forma binria. Se dividirmos N por 2, no sistema decimal, obtendo um quociente N 1 e um resto R 1 , podemos escrever:
N = 2 x N 1 + R 1 R 1 = 0 ou 1 A seguir, dividimos o quociente N 1 por 2. Suponha que o novo quociente seja N 2 e o novo resto, R 2 . Ento:
N 1 = 2 x N 2 + R 2 R 2 = 0 ou 1
assim:
N = 2(2N 2 + R 2 ) + R 1 = 2N 2 + R 2 x 2 x R 1 x 2 0
Se, a seguir, tivermos: N 2 = 2N 3 + R 3
ento obteremos:
N= 2N 3 + R 3 x 2 + R 2 x 2 + R 1 x 2 0
Ou seja, podemos converter da base 10 para a base 2 por meio de repetidas divises por 2. O resto e o quociente final, 1, nos do os dgitos binrios de N, na ordem do menor para o maior dgito significativo.
Exemplos de converso de nmeros inteiros da notao decimal para a notao binria.
A converso da parte fracionria envolve repetidas multiplicaes por dois. A cada passo, a parte fracionria do nmero decimal multiplicada por 2. O dgito esquerda da vrgula decimal no produto ser 0 ou 1 e contribuir para a representao binria, comeando pelo bit mais significativo. A parte fracionria do produto usada como multiplicando no prximo passo. Para mostrar que isso funciona, consideramos uma frao decimal positiva F < 1. Podemos expressar F como: F =(a -1 x 1) + (a -2 x 1) + (a -3 x 1) + ... 2 2 2
onde cada a -i 0 ou 1. Se multiplicarmos isso por 2, teremos:
2F = a -1 + (a -2 x 1) + (a -3 x 1) + (a -4 x 1) + ... 2 2 2
As partes inteiras dessas duas expresses devem ser iguais. Conseqentemente, a parte inteira de 2F, que deve ser 0 ou 1, uma vez que 0 < F < 1, simplesmente a -1 . Portanto: 2F = a -1 + F 1 , onde 0 < F 1 < 1 e:
F 1 =(a -2 x 1) + (a -3 x 1) + (a -4 x 1) + ... 2 2 2
Para encontrar a -2 repetimos o mesmo processo, que no necessariamente exato. Ou seja, uma frao decimal com um nmero finito de dgitos pode demandar uma frao binria com nmero infinito de dgitos. Nesses casos, o algoritmo de converso normalmente interrompido depois do nmero predefinido de passos, dependendo da preciso desejada. Representao de binrio na base 10
* 1101001 2
* 1101001 2 = 1 x 2 6 + 1 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 0 x 2 1 + 1 x 2 0
* 1101001 2 = 64 + 32 + 0 + 8 + 0 + 0 + 1
* 1101001 2 = 105 10 Representao de octal na base 10
* 54621 8
* 54621 8 = 5 x 8 4 + 4 x 8 3 + 6 x 8 2 + 2 x 8 1 + 1 x 8 0
* 54621 8 = 20480 + 2048 + 384 + 16 + 1
* 54621 8 = 22929 10 Representao de hexadecimal na base 10
* 39741 16
* 39741 16 = 3 x 16 4 + 9 x 16 3 + 7 x 16 2 + 4 x 16 1 + 1 x 16 0
* 39741 16 = 196608 + 36864 + 1792 + 64 + 1
* 39741 16 = 235329 10
NOTAO HEXADECIMAL
Em virtude da natureza binria inerente dos componentes de um computador digital, todas as formas de dados so representadas, dentro do computador, por cdigos binrios. No entanto, embora o sistema binrio seja conveniente para computadores, excessivamente ineficiente para seres humanos. Por isso, a maioria dos profissionais de computao que passam grande parte do tempo trabalhando com dados manipulados no computador prefere uma notao mais compacta. a) 0,81 10 = 0,110011 2 (aproximado)
Produto Parte inteira , 1 1 0 0 1 1
0,81 x 2 = 1,62 1 ------ 0,62 x 2 = 1,24 1 --------- 0,24 x 2 = 0,48 0 ------------ 0,48 x 2 = 0,96 0 --------------- 0,96 x 2 = 1,92 1 ------------------ 0,92 x 2 = 1,84 1 --------------------- Exemplos de converso de nmeros fracionrios da notao decimal para a notao binria. b) 0,25 10 = 0,01 2 (exato)
, 0 1
0,25 x 2 = 0,5 0 ------------------ 0,5 x 2 = 1,0 1 ---------------------
Em vez disso, adotada uma notao conhecida como hexadecimal. Os dgitos binrios so agrupados em conjuntos de quatro. A cada combinao possvel de quatro dgitos binrios atribudo um smbolo, como a seguir:
0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = A 1011 = B 1100 = C 1101 = D 1110 = E 1111 = F Por serem usados 16 smbolos, a notao chamada hexadecimal e esses 16 smbolos so os dgitos hexadecimais. Uma seqncia de dgitos hexadecimais pode ser vista como uma representao de um nmero inteiro na base 16. Portanto,
1A 16 = (1 16 x 16) + (A 16 x 16
0 ) = (1 10 x 16) + (10 10 x 16
0 ) = 26
A notao hexadecimal usada no apenas para representar nmeros inteiros. Ela tambm usada como uma notao concisa para representar qualquer seqncia de dgitos binrios, mesmo que representem texto, nmeros ou algum outro tipo de dado. As razes para se usar notao hexadecimal so as seguintes:
1. mais compacta que a notao binria. 2. Na maioria dos computadores, os dados binrios tm um tamanho que mltiplo de 4 bits e, portanto, mltiplo de um dgito hexadecimal. 3. extremamente fcil converter entre as notaes binria e hexadecimal.
Como um exemplo desse ltimo ponto, considere a seqncia de bits 110111100001. Isso equivalente a:
1101 1110 0001 = DE1 16
D E 1 Esse processo realizado to naturalmente que um programador experiente pode converter representaes visuais de dados binrios para seus equivalentes hexadecimais mentalmente, sem precisar escrever. Mudana da base 10 para binrio
2 x 8 0 = 2 1 x 8 1 = 8 3 x 8 2 = 192 1 x 8 3 = 512 Mudana da base hexadecimal para decimal 2CA 16 = 10+192+512 = 714
A x 16 0 = 10 x 16 0 = 10
C x 16 1 = 12 x 16 1 = 192
2 x 16 2 = 2 x 256 = 512
ARITMTICA COMPUTACIONAL
As palavras de um computador so compostas por bits e podem representar nmeros armazenados na memria. Estes nmeros podem ter diferentes significados, como inteiros ou reais, serem positivos ou negativos. A manipulao dos nmeros inclui operaes de soma, subtrao, multiplicao e diviso. COMPLEMENTO DE 1 (C 1) Este sistema de representao tambm utiliza o bit mais esquerda para o sinal, correspondendo o 0 ao sinal + e o 1 ao sinal -. Para os nmeros positivos, os N- 1 bits da direita representam o mdulo. O simtrico de um nmero positivo obtido pelo complemento de todos os seus dgitos (trocando 0 por 1 e vice-versa) incluindo o bit de sinal.
Exemplo: representar 10 e 10 Limitao de 8 bits (N=8)
10 0 0001010
N sinal mdulo
Nmero 10 o complemento do seu simtrico
-10 1 1110101
N sinal mdulo Vantagem: possuir faixa simtrica. Inconvenincia: 2 representaes para o nmero 0. Para 8 bits o 0 tem as seguintes representaes:
0 1111 1 1110 2 1101 3 1100 4 1011 5 1010 6 1001 7 1000 Este sistema de representao utiliza o bit mais esquerda para o sinal, correspondendo o 0 ao sinal + e o 1 ao sinal -. Para os nmeros positivos, os N- 1 bits da direita representam o mdulo, igualmente ao MS (mdulo e sinal) e C - 1. O simtrico de um nmero obtido em dois passos: 1 passo obtm-se o complemento de todos os bits do nmero positivo (trocando 0 por 1 e vice-versa) incluindo o bit de sinal, isto , executa-se o complemento de 1; 2 passo ao resultado obtido no primeiro passo, soma-se 1 (em binrio).
COMPLEMENTO DE 2 ( C 2) Exemplo: complemento de 2 dos nmeros 10 e 10 Limitao de 8 bits (N=8)
10 0 0001010 n sinal mdulo Nmero 10 1 passo: complemento de 1 -10 1 1110101
n sinal mdulo
2 passo: 1 1110101 + 10 ----------- 1110110
Vantagem: uma nica representao para o nmero 0.. Para 8 bits teremos:
N 0 00000000 (+0) N -0 passo 1 11111111 (-0) passo 2 1 ------------------- 100000000
estouro desprezado
Logo 0 e 0 tem a mesma representao.
OPERAES COM NMEROS BINRIOS Adio
A adio no sistema binrio realizada exatamente da mesma forma que uma adio no sistema decimal. Vamos inicialmente realizar uma adio na base 10 e posteriormente outra na base 2. Seja a operao 85 + 18.
85 18 + ----- 103 -Somamos por colunas partir da direita, temos 8+5=13, como a soma excedeu o maior dgito disponvel, usamos a regra do transporte para a prxima coluna. - Assim, dizemos que d 3 e vai um. - Este transporte vai um computado na soma da prxima coluna, que passa a ser 8+1+1=10, novamente usamos o transporte e dizemos que d 0 e vai um abrindo uma nova coluna que 0+0+1=1. - Obtemos desta forma o resultado 103.
-- Vamos agora para o sistema base 2, como temos apenas dois dgitos, vamos verificar quais os possveis casos que ocorrero na soma por colunas:
- No caso d houve transporte, o resultado 0 e vai um e no caso e realizamos a soma de trs parcelas incluindo um transporte, o resultado 1 e vai um.
Subtrao
-Como o mtodo tambm anlogo ao da subtrao no sistema decimal, vamos ver quais os possveis casos que ocorrero na subtrao por colunas.
a) 0 b) 0 c) 1 d) 1 -0 -1 -0 -1 ---- ---- ---- ---- 0 1 1 0
- No caso b, o resultado ser 1, mas ocorrer um transporte para a coluna seguinte, que deve ser acumulado no subtraendo. Exemplificando, vamos efetuar 1110 2 1001 2
1110 -1001 ------- 0101 Multiplicao
-Novamente anloga ao caso decimal. Agora os casos possveis so:
a) 0x0 = 0 b) 0x1 = 0 c) 1x0 = 0 e d) 1x1 = 1
A multiplicao de nmeros binrios feita do mesmo modo que a multiplicao de nmeros decimais.
O procedimento, na verdade, mais simples, uma vez que os dgitos multiplicadores podem ser apenas 0 ou 1. O exemplo seguinte ilustra este procedimento para nmeros binrios sem sinal.
Caso um nmero esteja em complemento de 2, deve- se primeiro convert-lo para o seu equivalente em binrio positivo. Assim, possvel efetuar a multiplicao como no caso acima.Evidente que o resultado deve ser convertido para binrio negativo, usando o complemento de 2. Diviso Binria
O processo para dividir nmeros binrios o mesmo que utilizado para nmeros decimais.Para ilustrar, segue um exemplo onde iremos dividir (9) 10 por (3) 10 .
+9 = 1 0 0 1 +3 = 1 1
1 0 0 1 /1 1 1 1 1 1(3) 10
--------- 0 0 1 1 1 1 ---------- 0
A diviso de nmeros com sinal tratada do mesmo modo que na multiplicao.