Apostila de org de arq de computadores

Apostila de org de arq de computadores

(Parte 3 de 10)

Todo sistema de computação moderno é construído de modo a ser capaz de armazenar, interpretar e manipular informações codificadas na forma binária. Além disso, muitos deles possuem a capacidade de representar valores e efetuar operações aritméticas utilizando recursos de outras bases da potência de 2 (mais especialmente as bases octal - base 8 e hexadecimal - base 16). Esse é o caso, por exemplo, de representação e aritmética de números em ponto flutuante; alguns sistemas de computação IBM empregam a base 16 quando efetuam aritmética em ponto flutuante.

2.3.1 Procedimento de Adição:

Tendo em vista que toda representação de valores nos computadores digitais é realizada no sistema binário, é obvio, então, que as operações aritméticas efetuadas pela máquina sejam também realizadas na mesma base de representação, a base 2. As operações de adição nas bases 2, 8 e 16 são realizadas de modo idêntico ao que estamos acostumados a usar para a base 10, exceto no que refere à quantidade de algarismos disponíveis (que, em cada base, é diferente). Esse fato acarreta diferença nos valores encontrados, mas não no modo como as operações são realizadas.

Adição de Números Binários

A operação de soma de dois números em base 2 é efetuada de modo semelhante à soma decimal, levando-se em conta, apenas, que só há dois algarismos disponíveis (0 e 1). Assim: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0, com "vai 1"

Ex1: 1 1 vai 1 101101,01 +10011,1 1010101,0

11 1 vai 1
110110,1011

Ex2: 11001,1101 +10,1110

Do mesmo modo que operamos na base decimal, a soma é efetuada algarismo por algarismo, de maneia que, quando somamos 1 com 1, obtemos como algarismo resultante 0 e sobra o valor 1 para ser somado aos algarismos da parcela imediatamente seguinte à esquerda (valor de uma base - 2); esse é o valor que denominamos "vai 1". Se os dois algarismos serem somados são de valor igual a 1, e ainda temos o "vai 1" para o algarismo da esquerda.

Resumindo: 1 + 1 + 1 = 1 com "vai 1"; 1 + 0 + 1 = 0 com "vai 1".

Adição de Números Octais e Hexadecimais

Os procedimentos para adição nas bases 8(octal) e 16(hexadecimal) também não diferem da base 10, exceto quanto à quantidade de algarismos diferentes em cada base, conforme já mencionamos anteriormente. No caso da base octal, temos 7 algarismos disponíveis e, portanto, a soma de 2 algarismos produzindo um valor superior a 7 implica a utilização do conceito de "vai 1" consiste em um valor igual a 8 na ordem inferior). Para a base 16, o "vai 1" somente ocorre quando a soma de 2 algarismos excede o valor da base, 16.

Ex: Soma com aritmética em base 8:

Ex1: 1 3463 +1524 5207

11 1

Ex2: 422,74 +513,74 1136,70

Ex3: 1 1 27,416 +5,635 105,253

A execução detalhada do algoritmo de soma para o Ex1 é apresentada a seguir, de modo que se possa compreender melhor o processo: 3 + 4 = 7, valor colocado na coluna, em resultado; 6 + 2 = 8 (não há algarismo na base 8 - o maior algarismo é 7). Assim, temos: 8 = 8 + 0; o 0 é colocado na coluna como resultado e o 8 é passado para a esquerda com valor 1 (é o "vai 1"), pois 8 unidades de uma ordem representam apenas 1 unidade de ordem superior - mais à esquerda); 4 + 5 +1 ("vai 1") = 10 (10=8 + 2); logo, é 2 na coluna de resultado e "vai 1" à esquerda, representando o valor 8). 3 + 1 + 1 ("vai 1") = 5, colocado na coluna resultado. O processo é semelhante para os exemplos (2) e (3).

Ex: Soma com aritmética em base 16:

11

Ex1: 3A54,3B + 1BE8,7A 563C,B5

1 1

Ex2: 3A943B +23B7D5 5E4C10

Ex3: 1 1 1 2AC79 +B7EEC E2 B65

A execução detalhada do algoritmo de soma para o Ex1 é apresentada a seguir, de modo que se possa compreender melhor o processo:

10(A) + 1(B) = 21, que excede 5 da base 16. Logo, coloca-se 5 na linha "soma" e "vai 1" para a esquerda; 7 + 3 + 1 = 1 (algarismo B); 8 + 4 = 12 (algarismo C); 14(E) + 5 = 19, que excede de 3 a base 16. Logo, coloca-se na linha "soma" e "vai 1" para a esquerda; 10(A) + 1(B) + 1 = 2, que excede 6 da base 16 e "vai 1"; 1 + 3 + 1 = 5.

2.3.2 Procedimento de Subtração:

Os procedimentos para execução da operação de subtração em bases 2, 8, 16, ou qualquer outra não decimal seguem as mesmas regras adotadas para a base 10, variando, conforme já mencionado diversas vezes, quanto à quantidade de algarismos existentes em cada base. Essas regras são: minuendo - subtraendo = diferença; operações realizada algarismo por algarismo; se o algarismo do minuendo for menor que o algarismo do subtraendo, adiciona-se ao minuendo um valor igual ao da base (2 ou 8 ou 16). Esse valor corresponde a uma unidade subtraída (empréstimo) do algarismo à esquerda do minuendo; resultado é colocado na coluna, na parcela diferença.

Subtração de Números Binários

A subtração em base 2, na forma convencional usada também no sistema decimal (minuendo - subtraendo = diferença), é relativamente mais complicada por dispormos apenas dos algarismos 0 e 1. Assim, 0 menos 1 necessita de um "empréstimo" de um valor igual à base (no caso é 2), obtido do primeiro algarismo diferente de zero, existente à esquerda. Se estivéssemos operando na base decimal, o "empréstimo" seria de valor igual a 10.

Ex1:2
002
Ex2:1
02022

A execução detalhada do algoritmo de soma para o Ex2 é apresentada a seguir, de modo que se possa compreender melhor o processo: 1 – 1 = 0 0 – 0 = 0 0 – 1 não é possível. Retira-se 1 da 5a ordem, a partir da direita, ficando 2 unidades na 4a ordem. Dessas 2 unidades, retira-se 1 para a 3a ordem (nesta 3a ordem ficam, então, 2), restando 1 nesta 4a ordem. Logo 2-1 = 1. 1 – 1 = 0 0 – 0 = 0 1 – 1 = 0 0 – 0 = 0 0 – 1 não é possível. Retira-se 1 da ordem à esquerda, que fica com zero e passa-se 2 para a direita. Logo 2 – 1 = 1 0 – 0 = 0

Subtração de números Octais e Hexadecimais

Os procedimentos para realização da operação de subtração com valores representados em base 8 (octal) ou 16 (hexadecimal) são os mesmos das bases 2 ou 10, porém com a já conhecida diferença em termos de algarismos disponíveis.

Ex: Subtração com valores em base 8:

Ex1:8

248 48 3526,53 - 2764,36 0542,15

Ex2:8
Ex1:16

Ex: Subtração com valores em base 16: 3B16 D16 4C7BE8 - 1E927A 2DE96E

Ex2:16

3816A 16C16 49AB,8D5 - FC8,AB8 39E2,E1D

2.3.3 Procedimento de Multiplicação:

Multiplicação de Números Binários

O processo de multiplicação é realizado na forma usualmente efetuada para a base 10, isto é, somas sucessivas, visto que os algarismos do multiplicador somente podem ser 0 ou 1

1011 multiplicando
x 101 multiplicador
1011 primeiro produto parcial
1011terceiro produto parcial
110111 produto final

Ex: +0 segundo produto parcial Multiplicação de Números Octais A tabuada para a operação de multiplicação de números Octais é mostrada a seguir:

Ex1:
1
x5
Ex2:

Multiplicação de Números Hexadecimais A tabuada para a operação de multiplicação de números Hexadecimais é mostrada a seguir:

*16 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4 0 4 8 C
5 0 5 A F
6 0 6 C 12
7 0 7 E 15

1 0 1 2 3 4 5 6 7 8 9 A B C D E F 2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E 3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D 8 0 8 10 18

9 0 9 12 1B
A 0 A 14 1E
B 0 B 16 21
C 0 C 18 24
D 0 D 1A 27
E 0 E 1C 2AD2
F 0 F 1E 2DD2 E1
Ex1:
x5

16 13 F3C 4C2C

Ex2:
x8A

15BC D958 ADE0 B 7 58

2.3.4 Procedimento de Divisão: Divisão de Números Binários

Como nas demais operações aritméticas, a divisão binária é efetuada de modo semelhante à divisão decimal, considerando-se apenas que:

0 / 1 = 0 1 / 1 = 1 e que a divisão por zero acarreta erro.

Podemos efetuar uma divisão binária pelo método comum, isto é, dividendo / divisor = quociente e resto. Ou podemos realizá-la através de sucessivas subtrações, um processo mais simples de implementação em circuitos digitais. Nesse caso, o desejado quociente será a quantidade de vezes que o divisor poderá ser subtraído do dividendo, até que se obtenha um quociente igual a zero. O outro método consiste na execução do algoritmo a seguir apresentado, o qual é o detalhamento do processo usado para executarmos essa operação no lápis e papel, na base decimal. a partir da esquerda, avançam-se tantos algarismos quantos necessários para obter-se um valor igual ou maior que o divisor; encontrado esse valor, registra-se 1 para o quociente; subtrai-se do valor obtido no dividendo o valor do divisor (na divisão, como o quociente somente pode ser de valor igual a 1, a subtração é sempre com o próprio valor do divisor); ao resultado acrescentam-se mais algarismos do dividendo (se ainda houver algum), até obter-se um valor igual ou maior que o divisor (como no item a). Se o(s) algarismo(s) for(em) zero, acrescenta-se zero(s) ao quociente; repete-se o processo a partir do item 2, até que se esgotem os algarismos do dividendo.

Ex1:

1002 / 102 = 102 10’0 10

-1010
Ex2:

100102 / 112 = 1102 100’1’0 1

- 110
011
0

2.3.5 Adição Utilizando Números Com Sinal:

O Meio normal para representar números com sinal (+ ou -) é adicionando-se um BIT ao número, chamado BIT de sinal (BIT mais representativo).

(Parte 3 de 10)

Comentários