Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Prof. MsC Adilson Oliveira Cruz acruz@catolica-es.edu.br � Aritmética dos Seres Humanos x Aritmética dos Computadores � Sistema de Numeração: ○ Seres Humanos � Sistema de Base Decimal. ○ Computadores � Sistema de Base Binária. � Quantidade de Números: ○ Seres Humanos � Infinito! ○ Computadores � Finito. � Precisão: ○ Seres Humanos � Infinita! ○ Computadores � Fixa � Nos computadores, a quantidade finita de números e a precisão fixa é devido ao tamanho da memória. 2 � Pouca importância à questão de quantos dígitos decimais são gastos para representar um número. � O papel sempre é suficientemente grande para qualquer número que desejamos colocar nele. � Exemplos: � Ano-luz. Qual é a distância percorrida pela luz em 1 ano? ○ 9,4605284 × 1015 metros � Universo observável. Qual é o tamanho do Universo observável? ○ 13.700.000.000 anos-luz � 01 molécula de água. Quanto pesa 1 molécula de água? ○ 3.10-23g 3 � A quantidade de memória disponível para armazenar um número é determinada no instante em que o computador é projetado. � Decisão de arquitetura do computador! � A natureza finita do computador nos força a lidar apenas com números que podem ser representados com um número fixo de dígitos. � Números de precisão finita. 4 � Exemplo: � Qual é o tamanho do conjunto dos números inteiros representáveis por até 03 dígitos decimais, sem ponto decimal e sem sinal? ○ Conjunto tem exatamente 1000 elementos. � Quais são esses números? ○ 000, 001, 002, ..., 999 � Vamos supor que os únicos números que existem são os números desse conjunto. � Toda operação aritmética que eu realizo com os números desse conjunto é válida? 5 � Exemplo: � 600 + 600 = � 003 – 005 = � 050 . 050 = � 007 / 002 = � 700 + (400 – 300) ≠ (700 + 400) – 300 � 5 . (210 – 195) ≠ 5 . 210 – 5. 195 � Isso normalmente acontece para todo conjunto de número de precisão finita. 1200 -2 2500 3,5 6 � Utilizamos um sistema de numeração posicional com base decimal. � Ou seja, em nosso sistema de numeração utilizamos 10 símbolos: � 0 1 2 3 4 5 6 7 8 9 � O nome da base numérica utilizada é dado em função do número de símbolos utilizados. 7 � Representação: DÍGITOS No. ALGARISMOS MAIOR No. 101 9 (101 - 1) 102 10N _ 99 (102 - 1) (10N - 1) _ _ _ _ _ ... _ (n vezes) 8 � Apesar de nos parecer intuitivo o uso do sistema decimal, há outros sistemas de numeração utilizados. � Em computação, por exemplo, trabalha-se normalmente com quatro bases: � Decimal � para entrada e saída dos dados; � Binária � para os cálculos internos; � Hexadecimal � como forma compactada de representação interna; � Octal � também por este mesmo motivo, mas bem menos utilizada. 9 � Sistema cuja base é 2. � Quais são os possíveis algarismos? � 0 e 1 � Exemplos: � 100110 � 10101 � 1110011 DÍGITOS No. ALGARISMOS MAIOR No. 21 1 (21 - 1) 22 2N _ 3 (22 - 1) (2N - 1) _ _ _ _ _ ... _ (n vezes) Curiosidade: O nome “Bit” surgiu a partir da expressão Dígito Binário – Binary Digit – significando 0 1. 10 � Sistema cuja base é 8. � Quais são os possíveis algarismos? � 0 1 2 3 4 5 6 e 7 � Exemplos: � 5372 � 110101 DÍGITOS No. ALGARISMOS MAIOR No. 81 7 (81 - 1) 82 8N _ 63 (82 - 1) (8N - 1) _ _ _ _ _ ... _ (n vezes) 11 � Sistema cuja base é 16 � Possíveis algarismos: 0 1 2 3 4 5 6 7 8 9 ... � Como representar números maiores que 9? � A (10) B (11) C (12) D (13) E (14) F (15) � Exemplos � F0EA522F8B, 389157, 1101011101 DÍGITOS No. ALGARISMOS MAIOR No. 161 16 (161 - 1) 162 16N _ 256 (162 - 1) (16N - 1) _ _ _ _ _ ... _ (n vezes) 12 � A Figura abaixo mostra a representação do número decimal 2001 nas bases binária, octal, decimal e hexadecimal, respectivamente. 13 � O número 7D1 está representado em qual base? � É a base hexadecimal, porque o símbolo D só pode ocorrer em números hexadecimais. � E o número 111? � Pode estar em qualquer um dos quatro sistemas de numeração discutidos. � Para evitar ambigüidades, usa-se um subscrito de 2, 8, 10 ou 16 para indicar a base quando ela não é óbvia pelo contexto. Ex: (111)2 ou (45602)16 ou (13262)10 ou (227)8. 14 � Para evitar ambiguidades, convencionou explicitar a base na qual o número está representado. � A representação é feita da seguinte forma: (<numero>)B, onde B indica a base (2, 8, 10 ou 16). � Exemplo: � (111)2 � (45602)16 � (13262)10 � (227)8 15 � Utilizando x algarismos em uma base numérica n, podemos ter nx valores distintos. Por exemplo: � Com 3 algarismos na base decimal (10) representamos 103, ou seja, 1000 valores (de 000 a 999). � Com 3 algarismos na base binária(2) representamos 8 valores distintos: 000,001,010,011,100,101,110,111. � Assim, se for necessário representar y valores distintos em uma base n serão necessários logn y algarismos para tal representação. � Para representar 32 valores na base binária precisarei de log2 32 algarismos, ou seja, 5 algarismos pois, 32 é igual a 25. 16 � O computador trabalha apenas com base binária, o ser humano, preferencialmente, com base decimal. � Logo, precisamos de técnicas para converter números de uma base para outra. � Exemplo: � Decimal� Binário, Octal ou Hexadecimal � Binário, Octal ou Hexadecimal� Decimal � Binário �� Octal, Binário ��Hexadecimal e Octal �� Hexadecimal 17 � O melhor método é o da divisão. � O número é dividido pela nova base (na aritmética da base de origem). � O resto da divisão forma o algarismo mais à direita (menos significativo) do número convertido. � O quociente é novamente dividido, e assim sucessivamente, até o novo quociente ser menor que o divisor. DIVIDENDO QUOCIENTE DIVISOR RESTO 18 � Ex: (23)10� ( )2 11 2 No. Binário: 2 2 2 23 5 2 1 1 1 10 19 � Ex: (2001)10� ( )8 � Exercício: (17254)10� ( )16 250 8 No. Octal: 8 8 2001 31 1 7 2 3 20 � A melhor maneira de converter números binários (octal ou hexadecimal) em decimal, consiste em somar as potências da base correspondentes aos bits diferentes de zero do número. � Ex: ( 1 1 1 0 ) � Exercício: (10011)2 = ( )10 (3457)8 = ( )10 (1A34FC9)16 = ( )10 = +. (14)10+. +. =. 0123 2 0 2 0 11 1 2 1 2 2 2 3 21 � Para converter um número binário para octal, divida-o em grupos de 3 bits, sempre da direita para a esquerda. Cada grupo de 3 bits pode ser diretamente convertido para um único dígito octal, de 0 a 7. � Siga o mesmo procedimento de transformar binário para decimal, ou seja, é a somatória do algarismo vezes a base de origem elevado ao seu índice. � OBS: Pode ser necessário adicionar um ou dois zeros à esquerda para completar um grupo de 3 bits. 22 � Na conversão de octal para binário, cada dígito octal é simplesmente substituído pelo número binário de 3 bits. � Seguir o procedimento de transformar decimal para binário, ou seja, dividir o número pela base de destino até o dividendo ser menor que o divisor. Tomar o resto ao contrário. � A conversão de hexadecimal para binário é essencialmente a mesma de octal para binário, exceto que cada dígito hexadecimal corresponde a um grupo de 4 bits em vez de 3. 23 � Exemplo: (1 0 1 1 0 1 1 1 0 0 1 0)2 = ( )8 � Logo: (1 0 1 1 0 1 1 1 0 0 1 0)2 = (5 5 6 2)8 0 . 20 + 1 . 21 + 0 . 22 = 2 0 . 20 + 1 . 21 + 1 . 22 = 6 1 . 20 + 0 . 21 + 1 . 22 = 5 1 . 20 + 0 . 21 + 1 . 22 = 5 24 � Exemplo: (1 0 1 1 0 1 1 1 0 0 1 0)2 = ( )16 � Logo: (1 0 1 1 0 1 1 1 0 0 1 0)2 = (B 7 2)16 0 . 20 + 1 . 21 + 0 . 22 + 0 . 23 = 2 1 . 20 + 1 . 21 + 1 . 22 + 0 . 23= 7 1 . 20 + 1 . 21 + 0 . 22 + 1 . 23 = B 25 � Exercício: (1 1 0 1 0 1 0 1 0 1 1 1 0 0)2 = ( )8 (1 1 0 1 0 1 0 1 0 1 1 1 0 0)2 = ( )16 � Octal �� Hexadecimal? � Octal �� Binário �� Hexadecimal 26 DECIMAL BINÁRIO OCTAL HEXADECIMAL 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 27 � TANENBAUM, A. s. Organização Estruturada de Computadores. 3ª. ed. Editora LTC, 1999. � STALLINGS, W. Arquitetura e Organização de Computadores. 5a. ed. São Paulo: Prentice Hall, 2002 28
Compartilhar