Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores 1 1 Conversão de Bases A informação básica em sistemas digitais é o bit, podendo assumir apenas dois valores: 0 ou 1. Mas para representar essa informação em um computador, podemos utilizar a notação de alguns sistemas numéricos, tal como o octal, decimal e hexadecimal, além do binário. Como o sistema binário utiliza apenas dois símbolos (0 e 1), ele é chamado de base 2. O sistema octal utiliza os símbolos de 0 a 7, sendo chamado de base 8. Já o sistema mais usado pelos humanos é o decimal, utilizando os dígitos de 0 a 9, sendo chamado de base 10. Por fim, temos o sistema hexadecimal, sendo representado pelos algarismos de 0 a 9 e as letras de A a F, chamado de base 16. Segundo (NICOLOSI, 2004, pag.6), dentre as quatro bases apresentadas, é possível a realização de doze conversões diferentes, conforme a figura abaixo: Figura 1 – Doze conversões entre as quatro bases. A seguir são apresentadas algumas dessas conversões. 1.1 Conversão de binário para decimal e vice-versa Podemos representar uma quantidade qualquer N, numa dada base b, da seguinte maneira: 𝑁𝑏 = 𝑎0𝑏 𝑛 + 𝑎1𝑏 𝑛−1 +⋯+ 𝑎𝑛𝑏 0 – Equação 1 Onde 𝑎0, 𝑎1…𝑎𝑛 são os respectivos dígitos de uma base qualquer, e n as respectivas potencias. Exemplo 1.1-a: Para converter o número 101101012 para a base decimal, fazemos: 101101012 = 1x2 7 + 0x26 + 1x25 + 1x24 + 0x23 + 1x22 + 0x21 + 1x20 101101012 = 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 101101012 = 18110 Arquitetura de Computadores 2 Assim o número 10110101 na base binária, após a conversão, representa 181 na base decimal. Para realizarmos a conversão inversa, da base decimal para a base binária, utilizamos a mesma representação apresentada acima, utilizando uma tabela auxiliar: Tabela 1 – Conversão de base decimal para binaria. Exemplo 1.1-b: Para converter o número 18110 para a base binária, fazemos: 18110 = 1x2 7 + 0x26 + 1x25 + 1x24 + 0x23 + 1x22 + 0x21 + 1x20 18110 = 101101012 1.2 Conversão de binário para octal e vice-versa Para convertemos um numero na base binária para a base octal, separamos os algarismos do número binário em grupos de três algarismos (começando sempre da direita para a esquerda) e convertemos cada grupo de três algarismos para seu equivalente em octal, conforme a tabela abaixo: Binário Octal 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Tabela 2 - Conversão de base binária para Octal. Exemplo 1.2-a: Para converter o número 101101012 para a base octal, fazemos: 101101012 = 010|110|101 101101012 =2658 A conversão da base octal para a base binária pode ser feita utilizando o mesmo princípio: Exemplo 1.2-b: Para converter o número 2658 para a base binária, fazemos: 2658 = 2|6|5 2658 = 010|110|101 2658 = 101101012 Arquitetura de Computadores 3 1.3 Conversão de binário para hexadecimal e vice-versa A conversão da base octal para a base binária pode ser feita separando os algarismos do número binário em grupos de quatro algarismos (começando sempre da direita para a esquerda) e convertendo cada grupo de quatro algarismos para seu equivalente em hexadecimal, conforme a tabela abaixo: Binário Hexadecimal 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 Tabela 3 - Conversão de base binária para Hexadecimal. Exemplo 1.3-a: Para converter o número 101101012 para a base hexadecimal, fazemos: 101101012 = 1011|0101 101101012 = B516 A conversão da base hexadecimal para a base binária pode ser feita utilizando o mesmo princípio: Exemplo 1.3-b: Para converter o número B516 para a base binária, fazemos: B516 = B|5 B516 = 1011|0101 B516 = 101101012 1.4 Conversão de decimal para octal e vice-versa Para converter números na base decimal para a base octal podemos utilizar o princípio da equação 1, convertendo para a base binaria e posteriormente para a base octal. Exemplo 1.4-a: Para converter o número 18110 para a base octal, fazemos: 18110 = 101101012 , agora convertermos da base binária para a octal: 101101012 = 010|110|101 Arquitetura de Computadores 4 101101012 =2658 Para converter números na base octal para a base decimal também podemos utilizar o princípio da equação 1, sem a necessidade de conversão para a base binaria. Exemplo 1.4-b: Para converter o número 2658 para a base decimal, fazemos: 2658 = 2x8 2 + 6x81 + 5x80 2658 = 128 + 48 + 5 2658 = 181 1.5 Conversão de decimal para hexadecimal e vice-versa Na converção de números na base decimal para a base hexadecimal podemos utilizar o princípio da equação 1, convertendo para a base binaria e posteriormente para a base octal. Exemplo 1.5-a: Para converter o número 18110 para a base hexadecimal, fazemos: 18110 = 101101012 , agora convertermos da base binária para a hexadecimal: 101101012 = 1011|0101 101101012 = B516 Durante a converso de números na base hexadecimal para a base decimal também podemos utilizar o princípio da equação 1. Exemplo 1.5-b: Para converter o número B516 para a base decimal, fazemos: B516 = 11x16 1 + 5x161 B516 = 176 + 5 B516 = 18110 1.6 Conversão de hexadecimal para octal e vice-versa Por fim, para convertemos um número da base hexadecimal para a base octal, podemos primeiramente realizar a conversão para a base binária e posteriormente para a base octal. Exemplo 1.6-a: Para converter B516 para a base octal, fazemos: B516 = 101101012, agora convertermos da base binária para a octal: 101101012 = 010|110|101 101101012 =2658 E para a conversão da base octal para a hexadecimal utilizamos o mesmo princípio acima: Exemplo 1.6-b: Para converter 2658 para a base hexadecimal, fazemos: Arquitetura de Computadores 5 2658 = 101101012, agora convertermos da base binária para a hexadecimal: 101101012 = 1011|0101 101101012 = B516 2 Aritmética Computacional As palavras de um computador são compostas por bits e podem representar números armazenados na memória. A manipulação dos números inclui operações de soma, subtração, multiplicação e divisão. 2.1 Adição e Subtração De acordo com (HENNESSY & PATTERSON, 2014, pág. 128), dígitos são somados bit a bit, da direita para a esquerda, com carries (“vai-uns”), sendo passados para o próximo dígito á esquerda, como feito manualmente. A subtração utiliza a adição: o operando apropriado é simplesmente negado antes de ser somado. Para realizar a soma entre dois números binários, basta ficar atento as seguintes condições: 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0, com vai “1” (carry) Exemplo 2.1-a: 1011012 + 1010112 1 1111 Carry 101101 + 101011 1011000 Para realizar a soma entre dois números binários, basta ficar atento as seguintes condições: 0 - 0 = 0 1 - 1 = 0 1 - 0 = 1 0 – 1 = 1, Emprestimo (vale 2) Exemplo 2.1-b: 1011012 - 1010112 02 Emprestimo 101101 - 101011 000010 Arquitetura de Computadores 6 2.2 Multiplicaçãoe divisão A multiplicação de números binários é realizada da seguinte maneira: A - Multiplicando B_ - Multiplicador C - Terceiro produto parcial D_ -Quarto produto parcial - E -Produto Final Exemplo 2.2-a: 10002 x 10012 1000 -Multiplicando x 1001 -Multiplicador 1000 0000 0000 1000____ 1001000 - Produto final A divisão envolve um dividendo, um divisor e um quociente. No entanto, a divisão entre números binários envolve um processo mais detalhado, conforme os passos a seguir: 1º - Inicialize o quociente em zero. 2º - Subtraia o dividendo do divisor para ter o resto parcial(RP). • Se rp> =0, incremente o quociente e continue. • Se rp<0, pare. 3º - O resto torna-se dividendo. Vá para o passo 2. Exemplo 2.2-b: 11001002 / 1100102 01100100 Complemento de 2 do divisor (-50) +11001110 Quociente: 0000000 00110010 --> rp>0, então incrementa 00110010 +11001110 Quociente: 0000001 00000000 --> rp>0, então incrementa 00000000 +11001110 Quociente: 0000010 11001110 --> rp<0, então pare. Resposta: 0000010, que é o quociente. . Arquitetura de Computadores 7 3 Bibliografia HENNESSY, J. L.; PATTERSON, D. A. Organização e Projeto de Computadores. Elsevier, 2014. NICOLOSI, D. E. C. Microcontrolador 8051 Detalhado. [S.l.]: Editora Erica, 2004. Aritmética Computacional, IFBA. Disponível em: http://www.ifba.edu.br/professores/antoniocarlos/aula6ads.pdf. Acesso em 10 mar. 2018
Compartilhar