Baixe o app para aproveitar ainda mais
Prévia do material em texto
Formas de representação de algoritmos (Sistemas de Numeração) APRESENTAÇÃO Com o avanço da computação e principalmente das mídias, precisamos compreender a forma que o computador representa e manipula os dados internamente, assim como o sistema de medida utilizado. Nesta Unidade de Aprendizagem, estudaremos os sistemas de numeração, envolvendo o sistema decimal e o sistema binário para compreender o funcionamento, o armazenamento e a manipulação dos dados por um computador digital. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Identificar os sistemas de numeração decimal, binário, octal e hexadecimal.• Converter os sistemas de numeração.• Reconhecer o sistema de medida na computação, assim como sua importância na prática.• DESAFIO Um engenheiro comprou um computador novo e gostaria de realizar uma análise de proporcionalidades de armazenamento entre o seu computador antigo e o novo. Muitos são os itens que devem ser analisados antes de comprar um computador, sendo o principal a verificação da aplicação, para que será necessário, pois poderá exigir mais memória de vídeo, memória RAM, determinado tipo de monitor e quantidade de memória, processador mais rápido, quantidade de armazenamento, entre outros aspectos. Se o computador for usado para trabalhar softwares gráficos, é preciso prestar atenção nos itens de processador, monitor e placa de vídeo. O processador é um item muito importante ao analisar um computador, pois é o que determina a velocidade de processamento da máquina. A velocidade é medida em Hz, sendo que MHz significa milhões e GHz, bilhões. Hertz significa cálculos/ciclos por segundo. Somente os hertz não indicam se um processador é melhor ou pior que outro, há outros fatores que devem ser analisados. Deve-se verificar, por exemplo, se é um processador Quad Core (quatro núcleos) ou Dual Core (dois núcleos), isto é, são dois ou quatro núcleos trabalhando em conjunto. Vamos analisar abaixo os dois computadores no aspecto de espaço em suas memórias de armazenamento. Computador antigo: processador Intel Dual Core de 1,8 GHz, Memória RAM de 2 GB e disco rígido de 160 GB. Computador novo: 4a geração do processador Intel Core I7 (quad core) de 3,33GHz, 16 GB de memória RAM e 1 TB de disco rígido. Faça uma análise entre as configurações dos dois computadores apresentados, em relação à capacidade de armazenamento. Compare cada um dos itens de memória solicitados a seguir e responda: a) Quantos pen drives de 512 MB podem ser armazenados no disco rígido dos dois computadores (novo e antigo)? b) Quantos pen drives de 2 GB podem ser armazenados no disco rígido dos dois computadores (novo e antigo)? c) Analise a diferença entre os processadores, com relação à quantidade de núcleos e aos GHz. d) Faça uma análise de comparação entre os dois discos rígidos. Quantos discos rígidos do computador antigo podem ser gravados no disco rígido do novo? e) Faça uma análise de comparação entre as duas memórias RAM. INFOGRÁFICO Observe, a partir da imagem, os diferentes sistemas de numeração. CONTEÚDO DO LIVRO Há muitos sistemas antigos de numeração, como egípcios, arábicos, maias, gregos e chineses. Esses sistemas surgiram e evoluíram conforme as necessidades da Humanidade. Com a evolução, surgiram os computadores digitais e seu sistema digital, que utiliza o sistema binário ou digital. Precisamos compreender o seu funcionamento para que possamos manipular os dados de forma correta. Para auxiliar nos estudos desta Unidade, acompanhe um trecho da seguinte obra: Fundamentos de Arquitetura de Computadores - V8 - UFRGS [Série Livros Didáticos Informática UFRGS]. No capítulo selecionado, será apresentada uma introdução dos elementos de representação interna de dados de um computador digital. Boa leitura! b o o k m a n s é r ie liv ro s d id á tic o s in fo r m á tic a u fr g s 8 s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s volume 3 Linguagens Formais e Autômatos, 6.ed., de Paulo Blauth Menezes volume 4 Projeto de Banco de Dados, 6.ed., de Carlos Alberto Heuser volume 5 Teoria da Computação: Máquinas Universais e Compu tabilidade, 3.ed, de Tiarajú Asmuz Diverio e Paulo Blauth Menezes volume 6 Arquitetura de Computadores Pessoais, 2.ed., de Raul Fernando Weber volume 7 Concepção de Circuitos Integrados, 2.ed., de Ricardo Augusto da Luz Reis e cols. volume 9 Implementação de Linguagens de Programação: Compi ladores, 3.ed., de Ana Maria de Alencar Price e Simão Sirineo Toscani volume 10 Tabelas: Organização e Pesquisa, de Clesio Saraiva dos Santos e Paulo Alberto de Azeredo volume 11 Sistemas Operacionais, 4.ed., de Rômulo Silva de Oliveira, Alexandre da Silva Carissimi e Simão Sirineo Toscani volume 12 Teoria das Categorias para Ciência da Computação, 2.ed., de Paulo Blauth Menezes e Edward Hermann Haeusler volume 13 Complexidade de Algoritmos, 2.ed., de Laira Vieira Toscani e Paulo A. S. Veloso volume 15 Arquiteturas Paralelas, de César A. F. De Rose e Philippe O. A. Navaux volume 16 Matemática Discreta para Computação e Informática, 3.ed., de Paulo Blauth Menezes volume 17 Fundamentos de Circuitos Digitais, de Flávio Rech Wagner, André Inácio Reis e Renato Perez Ribas volume 18 Estruturas de Dados, de Nina Edelweiss e Renata Galante volume 19 Aprendendo Matemática Discreta com Exercícios, de Paulo Blauth Menezes, Laira Vieira Toscani e Javier García López volume 20 Redes de Computadores, de Alexandre Carissimi, Juergen Rochol e Lisandro Zambenedetti Granville Volume 21 Introdução à Abstração de Dados, de Daltro J. Nunes Volume 22 Comunicação de Dados, de Juergen Rochol de computadores de arquitetura fundamentos raul fernando weber 4ª edição 8 w eber fundam entos de arquitetura de com putadores 4ª e d içã o A Bookman Editora é parte do Grupo A, uma empresa que engloba diversos selos editoriais e várias plataformas de distribuição de conteúdo técnico, científi co e profi ssional, disponibilizando-o como, onde e quando você precisar. 8 Obra sem similar na área, fundamentos de arquitetura de computadores apresenta quatro arquiteturas básicas e suas diversas variações para quem deseja analisar as capacidades potenciais de cada uma: o Neander e o Ahmes, computadores extremamente simples; o Ramses, computador com diversos modos de endereçamento; e o Cesar, inspirado na família de computadores PDP-11. Além dessas arquiteturas simuladas, o livro analisa a programação de baixo nível da família 80 x 86 dos microprocessadores Intel, devido a sua larga difusão no mercado. Outros tópicos abordados são a representação de dados em sistemas de computação e os algoritmos básicos de soma, subtração, multiplicação e divisão em binário. São ilustradas as notações aritméticas de ponto fi xo e de ponto fl utuante, bem como os fundamentos de sistemas de codifi cação. Livro-texto para as disciplinas de introdução à arquitetura de computadores, introdução à informática, arquitetura de computadores, aritmética computacional, programação em linguagem de máquina e linguagem assembler nos cursos de ciência da computação, engenharia de computação e sistemas de informação. Material didático para professores Visite www.bookman.com.br raul fernando weber de computadores de arquitetura fundamentos l i v r o s d i s p o n í v e i s COMPUTAÇÃO/FUNDAMENTOS www.grupoa.com.br 031132_serie-ufrgs-8-Weber-FINAL.indd 1031132_serie-ufrgs-8-Weber-FINAL.indd 1 19/abril/12 16:5819/abril/12 16:58 W373f Weber, Raul Fernando. Fundamentos de arquitetura de computadores [recurso eletrônico] / Raul Fernando Weber. – 4. ed. – Dados eletrônicos. – Porto Alegre : Bookman, 2012. Editado também como livro impresso em 2012. ISBN 978-85-407-0143-4 1. Ciência da computação. 2. Arquitetura dos computadores. I. Título.CDU 004.2 Catalogação na publicação: Fernanda B. Handke dos Santos – CRB 10/2107 o autor Raul Fernando Weber é engenheiro eletrônico e mestre em ciência da computação pela UFRGS e doutor em ciência da computação pela Universidade de Karlsruhe, Alemanha. É professor associado do Instituto de Informática da UFRGS. Participa ativamente da comissão de graduação do curso de ciência da computação, da câmara de graduação e do conselho de ensino, pesquisa e extensão, todos da UFRGS. Suas áreas de interesse são arquitetura de computadores, segurança de sistema de computação, criptografia, programação segura e história da computação. ■ ■ Os números são representados no sistema decimal, mas os computadores utilizam o sistema binário. Embora empreguem símbolos distintos, os dois sistemas formam números a partir das mesmas regras e podem ser facilmente convertidos entre si. De fato, os números podem ser representados em qualquer base maior ou igual a dois, e essas representações podem ser facilmente convertidas de uma frase para outra. Os principais métodos de conversão, baseados em aritmética decimal, são apresentados neste capítulo. bases numéricas capítulo 1 Weber_01.indd 1Weber_01.indd 1 18/04/12 14:3318/04/12 14:33 2 Fundamentos de Arquitetura de Computadores 1.1 introdução Quando o homem aprendeu a contar, ele foi obrigado a desenvolver símbolos que repre- sentassem as quantidades e grandezas que ele queria utilizar. Esses símbolos, os algarismos, constituem a base dos sistemas de numeração. Nos tempos pré-históricos o homem utilizou uma correspondência um para um entre os obje- tos a serem contados e os seus dedos, ou então para pedrinhas ou mesmo para “riscos”. Um sistema deste tipo seria um “sistema unário” (com um único símbolo): Os primeiros algarismos encontrados consistiam em marcas horizontais ou verticais (como as mostradas) com traços de ligação entre elas para definir as quantidades superiores a um. Os símbolos romanos básicos podem ser considerados como uma evolução desse sistema. Os algarismos romanos são basicamente aditivos: assim, por exemplo, III = I + I + I. Para facilitar a representação de grandes quantidades, foram introduzidos símbolos especiais para grupos: I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000 Além disso, havia uma série de regras (como a posição relativa dos símbolos aos seus vizi- nhos), que permitiam interpretar estes símbolos e determinar o número que estava sendo representado: VI = 5 + 1 = 6 CXVI = 100 + 10 + 5 + 1 = 116 IV = 5 – 1 = 4 MCMLIX = 1000 + (1000 – 100) + 50 + (10 – 1) = 1959 A realização de cálculos com este sistema, especialmente para operações como multiplicação e divisão, era extremamente complexa e de aplicação praticamente impossível. Posteriormen- te, os árabes utilizaram um sistema originário da Índia, que possuía 10 algarismos (0 a 9), com os seguintes símbolos (da esquerda para a direita, 1234567890): Weber_01.indd 2Weber_01.indd 2 18/04/12 14:3318/04/12 14:33 Capítulo 1 Bases Numéricas 3 Este sistema começou a ser utilizado na Europa no século 12 e é conhecido atualmente como sistema de numeração arábica (mas com outros algarismos), destacando-se pelas seguintes características: ■ existe um símbolo para o valor nulo. ■ cada algarismo utilizado é uma unidade maior que o seu predecessor. ■ a notação é posicional, ou seja, o valor de um algarismo é determinado pela sua posição dentro do número. Cada posição possui um determinado peso. 1.2 representação de números Os sistemas atuais formam os números pela fórmula a seguir, em que a representa o número propriamente dito, B, a base do sistema de numeração (B≥2), xi, os algarismos (0≤xi<B), e o intervalo de –m a n–1, o número de posições utilizadas. Com B=10 tem-se o sistema decimal. O algarismo xi tem peso B i, determinado pela sua posição. Para i com valores positivos, tem- -se pesos maiores que a unidade; para i=0 tem-se exatamente o peso unitário (B0=1). Para valores negativos de i, tem-se pesos menores que a unidade (fracionários). Para o caso espe- cífico de números inteiros, utilizando-se n dígitos (ou “casas”), indexados de 0 (dígito menos significativo) até n–1 (dígito mais significativo), a fórmula fica: ou, por extenso, expandindo-se o somatório: a = xn–1.B n-1 + xn–2.B n–2 + . . . . + x2.B 2 + x1.B 1 + x0.B 0 ou ainda, simplificando-se a expressão: a = xn–1.B n–1 + xn–2.B n–2 + . . . . + x2.B 2 + x1.B + x0 Weber_01.indd 3Weber_01.indd 3 18/04/12 14:3318/04/12 14:33 4 Fundamentos de Arquitetura de Computadores Para os sistemas de numeração utilizam-se as seguintes regras: ■ a base B de um sistema é igual à quantidade de algarismos distintos utilizados. Para a base decimal, tem-se dez algarismos distintos (de 0 a 9). ■ quando uma posição é ocupada pelo maior algarismo e ela deve ser aumentada de uma unidade, esta posição recebe o símbolo nulo e a posição seguinte deve ser aumentada de uma unidade. Assim, 9+1=10, 19+1=20, 99+1=100, 1999+1=2000. ■ o algarismo mais à direita (denominado de dígito menos significativo) tem peso um. O al- garismo imediatamente à esquerda tem o peso da base B, o seguinte à esquerda tem peso de B ao quadrado, depois B ao cubo, e assim por diante. ■ o valor de cada algarismo de um número é determinado multiplicando-se o algarismo pelo peso de sua posição. ■ o valor de um número é determinado pela soma dos valores de cada algarismo. 1.3 transformação entre bases Os computadores atuais utilizam internamente somente um sistema de numeração: o sistema binário (B=2), com os algarismos 0 e 1. Este sistema foi estudado profundamente pelo mate- mático alemão Leibniz, no século 17. Somente com o advento dos computadores eletrônicos digitais, entretanto, tal sistema começou a ser utilizado na prática. Atualmente, todos os computadores usam internamente o sistema binário para armazenamento e manipulação de números e dados. O tratamento de números representados em outras bases ocorre por meio de rotinas de codificação e decodificação. O mesmo ocorre com símbolos alfanuméricos. 1.3.1 método polinomial Como cada número pode ser representado por um polinômio em uma certa base, tudo o que se deve fazer para transformar um número de uma base para outra é interpretar este número como um polinômio utilizando a aritmética da base de destino: 1100012 = 1.2 5 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 = 32 + 16 + 0 + 0 + 0 + 1 = 4910 1100012 = 1.2 5 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 = 408 + 208 + 0 + 0 + 0 + 18 = 618 Nesses exemplos, simplesmente foi aplicada a fórmula: a = xn–1.B n-1 + xn–2.B n–2 + . . . . + x2.B 2 + x1.B + x0 em que B é a base de origem, e a, o número resultante na base de destino. Observe que todos os cálculos são realizados na aritmética da base de destino. Weber_01.indd 4Weber_01.indd 4 18/04/12 14:3318/04/12 14:33 Capítulo 1 Bases Numéricas 5 1.3.2 método de subtrações Sabendo que um número em uma determinada base B é representado pela fórmula a = xn–1.B n–1 + xn–2.B n–2+ . . . . + x2.B 2 + x1.B + x0 a conversão para a determinação dos coeficientes xi é iniciada da esquerda (xn–1) para a direita (até x0). Inicia-se determinando os valores de n (a quantidade de dígitos necessária) e de xn–1 (o dígito mais significativo). Para tanto procura-se o produto (na base de origem) do maior coeficiente pela maior potência da nova base, que está contido no número a ser convertido, ou seja, procura-se o maior produto xn–1.B n–1 que seja menor (ou igual) que a. Este coeficiente xn–1 é o algarismo a ser utilizado na posição mais à esquerda (dígito mais significativo) do número na nova base. Subtrai-se este produto do número a ser convertido. Com isso tem-se: a’ = a – xn–1.B n–1 = xn–2.B n–2 + . . . . + x2.B 2 + x1.B + x0 Para determinar o algarismo seguinte à direita (xn–2), repete-se o processo, usando agora a di- ferença do passo anterior (a’) e a potência imediatamente inferior (se no passoanterior usou- -se a potência Bi, utiliza-se agora Bi–1), e assim sucessivamente até todos os n dígitos terem sido determinados. Note que o resultado das diversas subtrações sempre deve ser positivo (ou zero). Se a subtração não for possível, isso indica que o coeficiente xi é zero. Para converter o número decimal 681 para binário, por exemplo, tem-se os seguintes cálculos: 681 – 1.29 = 681 – 512 = 169 169 – 0.28 = 169 – 0.256 = 169 169 – 1.27 = 169 – 128 = 41 41 – 0.26 = 41 – 0.64 = 41 41 – 1.25 = 41 – 32 = 9 9 – 0.24 = 9 – 0.16 = 9 9 – 1.23 = 9 – 8 = 1 1 – 0.22 = 1 – 0.4 = 1 1 – 0.21 = 1 – 0.2 = 1 1 – 1.20 = 1 – 1 = 0 Ou seja, o número final, em binário, é 1010101001. Se o resultado de uma subtração produzir resultado zero, isso significa que todos os dígitos restantes são zero, como no exemplo a seguir. 680 – 1.29 = 680 – 512 = 168 168 – 0.28 = 168 – 0.256 = 168 168 – 1.27 = 168 – 128 = 40 40 – 0.26 = 40 – 0.64 = 40 40 – 1.25 = 40 – 32 = 8 8 – 0.24 = 8 – 0.16 = 8 8 – 1.23 = 8 – 8 = 0 Weber_01.indd 5Weber_01.indd 5 18/04/12 14:3318/04/12 14:33 6 Fundamentos de Arquitetura de Computadores Os coeficientes restantes (x2, x1 e x0) são iguais a zero, e o número final, em binário, é 1010101000. O método também se aplica para números com frações. Se não for possível chegar a zero após um certo número de posições, interrompe-se o método após obter-se o número de casas desejado. 6,125 – 1.22 = 6,125 – 4 = 2,125 2,125 – 1.21 = 2,125 – 2 = 0,125 0,125 – 0.20 = 0,125 – 0.1 = 0,125 0,125 – 0.2 – 1 = 0,125 – 0.0,5 = 0,125 0,125 – 0.2 – 2 = 0,125 – 0.0,25 = 0,125 0,125 – 1.2 – 3 = 0,125 – 0,125 = 0 Ou seja, o número final é 110,001. O método também se aplica para outras bases. Seja a conversão de 6,8125 de decimal para octal: 6,8125 – 6.80 = 6,8125 – 6 = 0,8125 0,8125 – 6.8 – 1 = 0,8125 – 0,7500 = 0,0625 0,0625 – 4.8 – 2 = 0,0625 – 0,0625 = 0 Ou seja, 6,812510=6,648. Note que sempre se utiliza a aritmética da base de origem. 1.3.3 método das divisões O número a ser convertido é dividido pela nova base (na aritmética da base de origem). O res- to desta divisão forma o algarismo mais à direita (menos significativo) do número convertido. O quociente é novamente dividido, e assim sucessivamente, até o resto ser zero. A sequência de todos os restos forma o novo número. Note que ao dividir o número a pela base B obtém-se: a /B = (xn–1.B n–1 + xn–2.B n–2 + . . . . + x2.B 2 + x1.B + x0)/B ou seja a /B = xn–1.B n–2 + xn–2.B n–3 + . . . . + x2.B 1 + x1, com resto igual a x0 A divisão seguinte por B produz como resto x1, e assim sucessivamente até xn–1. 53 ÷ 2 = 26, resta 1 26 ÷ 2 = 13, resta 0 13 ÷ 2 = 6, resta 1 6 ÷ 2 = 3, resta 0 3 ÷ 2 = 1, resta 1 1 ÷ 2 = 0, resta 1 Weber_01.indd 6Weber_01.indd 6 18/04/12 14:3318/04/12 14:33 Capítulo 1 Bases Numéricas 7 Número binário resultante: 110101 Para frações, o método se modifica um pouco: a fração é multiplicada pela nova base; a parte inteira resultante forma o algarismo mais à esquerda da nova fração e a parte fracionária é submetida novamente ao método, até o resultado ser zero (ou até atingir-se o número de dígitos significativos desejado). Exemplo: 0,828125 . 2 = 1,65625 Parte inteira = 1 Fração = 0,1 0,65625 . 2 = 1,3125 Parte inteira = 1 Fração = 0,11 0,3125 . 2 = 0,625 Parte inteira = 0 Fração = 0,110 0,625 . 2 = 1,25 Parte inteira = 1 Fração = 0,1101 0,25 . 2 = 0,5 Parte inteira = 0 Fração = 0,11010 0,5 . 2 = 1,0 Parte inteira = 1 Fração = 0,110101 1.3.4 método da substituição direta Este é o método mais fácil, mas funciona somente para bases que são potências inteiras entre si, por exemplo, de octal para binário (e vice-versa), ou de hexadecimal para binário (e vice- -versa). Seja B1=B2m; para um determinado m inteiro, tem-se as seguintes regras: ■ para converter de B1 (a maior base) para B2 (a menor base), cada algarismo de B1 é subs- tituído por m algarismos equivalentes de B2: 5 1 78 = 101 001 1112 7 0 C16 = 0111 0000 11002 ■ para converter de B2 para B1, agrupam-se os algarismos em grupos de m, tomando-se a vírgula como referência, ou seja, formam-se grupos de m algarismos tanto para a esquerda da vírgula (parte inteira) como para a direita (parte fracionária). Cada grupo é então trans- formado no seu algarismo equivalente na nova base: 1110,011012 = 001 110 , 011 010 = 1 6 , 3 28 1110,011012 = 1110 , 0110 1000 = E , 6 816 Observe que este método também pode ser utilizado entre duas bases que não sejam dire- tamente uma potência da outra, desde que ambas sejam potências inteiras de uma terceira base. Assim, por exemplo, pode-se converter da base octal para hexadecimal (usando a base 2 como terceira base). Weber_01.indd 7Weber_01.indd 7 18/04/12 14:3318/04/12 14:33 8 Fundamentos de Arquitetura de Computadores ■ exercícios propostos 1. Converter para a base decimal os seguintes números: a) 1010102 e) 21658 b) 10103 f) 1FA216 c) 10214 g) E1A16 d) 10256 h) 7078 2. Usando o método das divisões, converter os seguintes números decimais para a base indicada: a) 96 para a base ternária e) 49 para a base quaternária b) 96 para a base octal f) 57 para a base ternária c) 258 para a base hexadecimal g) 56 para a base binária d) 258 para a base binária h) 56 para a base hexadecimal 3. Usando o método das subtrações, converter os seguintes números decimais para a base indicada: a) 96 para a base ternária e) 49 para a base quaternária b) 96 para a base octal f) 57 para a base ternária c) 258 para a base hexadecimal g) 56 para a base binária d) 258 para a base binária h) 56 para a base hexadecimal 4. Usando o método das substituições, converter os seguintes números para a base indi- cada: a) 1011000110102 para a base octal b) 1011000110102 para a base hexadecimal c) 001011001012 para a base octal d) 001011001012 para a base hexadecimal e) 3478 para a base binária f) 72418 para a base binária g) 3AF16 para a base binária h) 7E4B16 para a base binária 5. Qual é o valor decimal de 011011012? Qual é a representação binária de 654? 6. Converter para binário os seguintes números decimais: a) 39 c) 256,75 b) 0,4475 d) 129,5625 7. Converter para decimal os seguintes números binários: a) 01101 c) 0111011,1011 b) 0,001101 d) 010110011 Weber_01.indd 8Weber_01.indd 8 18/04/12 14:3318/04/12 14:33 Capítulo 1 Bases Numéricas 9 8. Converter os seguintes números hexadecimais em decimais: a) B6C7 b) D2763 c) 9,1A 9. Converter os seguintes números octais em binário: a) 56 c) 231,2 b) 32,234 d) 3364 10. Converter os seguintes números hexadecimais em binários: a) AB2 c) 649 b) 12,A d) 0,D19 11. Converter os seguintes números binários em hexadecimais: a) 010110111 b) 011110,01011 c) 01110100010101 Termos-chave conversão de frações, p. 6 conversão direta, p. 6 conversão polinomial, p. 4 conversão por divisões, p. 5 conversão por subtrações, p. 5 representação polinomial, p. 4 sistema de numeração arábica, p. 3 Weber_01.indd 9Weber_01.indd 9 18/04/12 14:3318/04/12 14:33 capítulo ■ ■ Utilizando a base binária para representar números, e limitadas ainda pelo uso de somente dois símbolos distintos, as operações aritméticas básicas sofreram algumas adaptações nos computadores. A soma permanece a mesma, utilizando a mesma metodologia decimal, mas para a subtração e a consequente representação de quantidades negativas utiliza-se a representação em complemento de dois. Uma representação em sinal e magnitude, tal como usada no sistema decimal, é possível e é utilizada, mas a representação interna dos números nos computadores atuais é baseada na representação em complemento. 2 em computação sistemas de numeração Weber_02.indd 11Weber_02.indd 11 18/04/12 14:3218/04/12 14:32 12 Fundamentos de Arquitetura de Computadores 2.1 introdução Em todas as fórmulas usadas a seguir, ‘B’ representa a base do sistema de numeração, ‘n’, a quantidade de dígitos disponíveis para representar osnúmeros, e ‘a’, ‘b’ e ‘c’ indicam núme- ros quaisquer. A fórmula utilizada para representar um número inteiro será expressa por a = Σn–1xiB i, ficando implícita a variação de i desde 0 até o limite (n–1). Para uma determinada base B, empregando n dígitos, pode-se representar Bn combinações distintas, ou seja, Bn números distintos. Assim, para uma base decimal com três dígitos é possível representar 1000 números distintos (incluindo o zero!). Entretanto, com os mesmos três dígitos e base 2, representa-se somente oito números distintos. Assim, números binários vão exigir muitos dígitos, e normalmente se trabalha com grandes cadeias de zeros e uns, o que leva a erros visuais. Logo, são empregadas as notações em base 8 e em base 16 para representar números binários, por serem mais compactas. A Tabela 2.1 lista os primeiros dezesseis números em binário, decimal, octal e hexadecimal. tabela 2.1 Números em binário, decimal, octal e hexadecimal binário decimal octal hexadecimal 0000 0 00 0 0001 1 01 1 0010 2 02 2 0011 3 03 3 0100 4 04 4 0101 5 05 5 0110 6 06 6 0111 7 07 7 1000 8 10 8 1001 9 11 9 1010 10 12 A 1011 11 13 B 1100 12 14 C 1101 13 15 D 1110 14 16 E 1111 15 17 F Weber_02.indd 12Weber_02.indd 12 18/04/12 14:3218/04/12 14:32 Capítulo 2 Sistemas de Numeração em Computação 13 Em computação trabalha-se normalmente com quatro bases: a decimal, para a entrada e saída dos dados (já que nossa sociedade é baseada no sistema decimal); a binária, para os cál- culos internos; a hexadecimal, como forma compactada de representação interna; e a octal, também por este motivo. Note que a escolha das bases 8 e 16 não é ocasional: as transforma- ções entre as bases 2, 8 e 16 podem ser feitas facilmente pelo método da substituição direta. Embora a base hexadecimal seja de representação mais complexa (utiliza letras e dígitos), ela é preferida sobre a base octal por ser mais compacta, ou seja, requerer menos espaço para representar os resultados. Os números do sistema binário são formados como quaisquer outros números do sistema de numeração arábico (inclusive em octal ou hexadecimal): cada novo número é obtido por enumeração, somando-se um ao seu antecessor (e observando a regra do “vai-um”). Cada dígito do sistema binário (0 e 1) é denominado de bit, a contração de binary digit. A determinados conjuntos de bits são empregados nomes específicos. Assim, um quarteto (4 bits) é frequentemente denominado de nibble, e um octeto (8 bits) recebe a denominação de byte (ou o termo aportuguesado baite). Os múltiplos destes conjuntos utilizam os mesmos denominadores que no sistema decimal (K para kilo, M para Mega, G para Giga, T para Tera, P para Peta), mas o fator multiplicativo não é 1000 (103), e sim 1024 (210). Assim, um kilobit (abreviado 1Kb) contém 1024 bits, e um kilobyte (abreviado 1KB), 1024 bytes. Um megabyte (1MB) contém 1024 KB, um gigabyte (1GB), 1024 MB, um terabyte (1TB), 1024 GB, e assim por diante. 2.2 soma de números binários A soma de dois números binários utiliza as mesmas regras da soma no sistema decimal. Entre- tanto, como existem somente dois símbolos, a tabela de soma é simples: tabela 2.2 Tabela verdade de um meio-somador (half adder) a c d = a + c 0 0 0 0 1 1 1 0 1 1 1 0 e “vai-um” Weber_02.indd 13Weber_02.indd 13 18/04/12 14:3218/04/12 14:32 Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra. DICA DO PROFESSOR A manipulação dos dados em um computador é fundamental para o correto funcionamento dos algoritmos, assim como compreender o sistema digital e o sistema de medida utilizado na área da computação, para, então, entender e diferenciar os diversos equipamentos existentes e sua capacidade de processamento e armazenamento. Assista ao vídeo para conhecer um pouco mais sobre o tema. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) A operação de computadores digitais é baseada no armazenamento e processamento de dados binários. Diversos são os sistemas existentes e utilizados em sistemas digitais. Com relação ao sistema binário, considere as seguintes afirmações: I. O sistema binário utiliza apenas dois algarismos para representar a quantidade desejada: 1 e 0. II. Os valores do sistema binário representam verdadeiro/falso, ou ligado/desligado. III. O byte é a menor unidade de informação usada pelo computador. IV. O bit é representado por 8 bytes e forma um caractere da nossa linguagem. É INCORRETO o que se afirma em qual(is) alternativa(s)? A) Alternativas I e II. B) Alternativas III e IV. C) Alternativas II e III. D) Alternativas I, III e IV. E) Todas as alternativas. 2) Um analista de sistemas de uma fábrica de cimentos recebeu um arquivo binário e achou o e-mail muito suspeito. O profissional desconfiou do conteúdo, pois o remetente do e-mail era desconhecido e não fazia parte dos seus contatos. Muito desconfiado, ele abriu e analisou o conteúdo do arquivo, percebendo que o primeiro byte estava em binário e o valor equivalente era igual a 101010(2). Qual o valor em decimal que corresponde ao valor do primeiro byte em binário do arquivo recebido por e-mail? A) 32 B) 52 C) 20 D) 22 E) 42 3) Ao converter o número 46(10) da base decimal, obtêm-se em binário, octal e hexadecimal, respectivamente, os valores: A) Binário: 101110. Octal: 56. Hexadecimal: 2E. B) Binário: 110001. Octal: 65. Hexadecimal: F2. C) Binário: 100001. Octal: 56. Hexadecimal: 214. D) Binário: 110011. Octal: 56. Hexadecimal: E2. E) Binário: 101111. Octal: 56. Hexadecimal: 2E. 4) Levando-se em consideração as unidades de medida utilizadas na área de computação, analise as afirmativas abaixo e identifique se são V (verdadeira s) ou F (falsas). I. A unidade de medida na computação é o byte. II. Para converter 4 KB em MB, deve-se multiplicar por 1024. III. Para converter 2,2 GB em KB, deve-se dividir 2,2 por 1024 e dividir o resultado novamente por 1024. IV. Os múltiplos de medida utilizados são: KB, MB, GB, TB, entre outros. A) V, V, F, F. B) F, V, V, F. C) V, F, F, V. D) V, V, V, V. E) F, F, F, F. 5) Dado o valor em binário 1001101, obtém-se em decimal, octal e hexadecimal, respectivamente, os valores: A) Decimal: 76. Octal: 511. Hexadecimal: 4D. B) Decimal: 77. Octal: 115. Hexadecimal: D4. C) Decimal: 76. Octal: 115. Hexadecimal: 4D. D) Decimal: 77. Octal: 115. Hexadecimal: 4D. E) Decimal: 76. Octal: 115. Hexadecimal: D4. NA PRÁTICA Dispositivo de armazenamento. A evolução tecnológica nos surpreende ano após ano, principalmente quando falamos em dispositivos de armazenamento de dados. Um dispositivo de armazenamento tem por finalidade armazenar dados que hoje podem estar em seu notebook ou computador em sua residência ou na nuvem (chamada de cloud computing). Vamos analisar e comparar o volume de armazenamento de alguns dispositivos? Um pen drive de 32 GB pode armazenar (comparando a capacidade interna de armazenamento Quantos CD podem ser armazenados em um pen drive de 128 GB? Um CD tem 700 MB 700 MB equivalem a 0,68359375 GB (700 / 1024) 32 GB / 0,68359375 GB = 46,8 CDS em um pen drive de 32 GB. Quantos disquetes de 3,5 polegadas podem ser armazenados em um pen drive de 128 GB? O disquete de 3,5 armazena 1,44 MB 1,44 MB /1024 0,001406 GB = 0,001406 GB 32GB / 0,001406 GB = 22.759 disquetes podem ser armazenados em um pen drive de 32 GB. Então, um pen drive de 32 GB pode armazenar em torno de 47 CDs ou 22 mil disquetes de 1,44 MB. Hoje, os computadores estão vindo com disco rígido com capacidade em TB. Vamos analisar um disco rígido (HD) com capacidade de 1 TB para termos a noção de quantos discos de 128 GB podem ser armazenados em 1 TB. 1 TB * 1024 = equivale a 1024 GB 1024 GB / 32 GB = 32 pen drives de 32 GB. Dessa forma, um HD de 1 TB pode armazenar 32 pen drives com capacidade de 32 GB. Eassim, ano após ano, percebemos a evolução dos dispositivos de armazenamento, e não somente armazenamento em disco, mas em memória do computador, capacidade de processamento, entre outros. SAIBA + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: WEBER, R.F. Fundamentos de arquitetura de computadores - Vol.8. Série Livros Didáticos Informática UFRGS. 4.ed. Porto Alegre: Bookman, 2012. Conversão de decimal para octal Conteúdo interativo disponível na plataforma de ensino! Eletrônica digital 19 - decimal para hexadecimal Conteúdo interativo disponível na plataforma de ensino! Sistemas de numeração: conversão binário-octal Conteúdo interativo disponível na plataforma de ensino!
Compartilhar