Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unidade II – Representação de Dados Parte 3 Slides 07 Tecnologia em Redes de Computadores Paulo do Amaral Costa 2011/2 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Unidade II - Representação de dados ◦ 2.5 - Representação de números inteiros Sinal e Magnitude Complemento à base (complemento de 2) ◦ 2.6 - Tabelas de representação de caracteres 2 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Introdução à Representação de Dados Todos os computadores precisam processar dados. No interior do computador, os dados precisam estar representados num formato binário específico. Representação de dados: ◦ É a forma computacional de como os dados são representados no computador, para fins de armazenamento em memória e/ou manipulação pelo processador. 3 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Para representar o tipo literal, usa-se tabelas de padrões de codificação de caracteres. Os computadores podem suportar numéricos com e/ou sem sinal, a depender da arquitetura. As representações de dados numéricos inteiros podem ter 8, 16, 32, 64 ou até 128 bits de comprimento. Atualmente, a maioria dos computadores representam numéricos “em complemento de 2”.* A representação de um determinado tipo de dado é uma restrição de hardware, isto é: ◦ É necessário saber se o hardware suporta o tipo; ◦ O usuário não tem liberdade para escolher um formato de representação diferente. * Embora, no passado, fossem utilizados outros métodos. 4 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Principais tipos de dados nas linguagens de programação: ◦ Numéricos Inteiros Reais ◦ Literal Char (1 caractere alfanumérico) String (cadeia de caracteres alfanuméricos) ◦ Lógico Boolean (booleano 1, 0 ou true, false) 5 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Tipos de dados numéricos para o computador Para o computador, com relação à vírgula, não “existe distinção” entre inteiro e real, pois o sistema não precisa representar a vírgula. Assim, para fins de representação, temos: ◦ Numérico de ponto fixo Pode ser sem sinal e com sinal (+ 0, - 1), isto é, números positivos e negativos. ◦ Numérico de ponto flutuante Equivalente à representação de Notação Científica na matemática. Pode ser sem e com sinal. N = F x BE Onde: N número que se deseja representar; F dígitos significativos; B base; E valor do expoente; Exemplos: 854,0000 = 8,54 x 102 = 85,4 x 101 = 8540,0 x 10-1 0,00000053 = 5,3 x 10-7 = 53,0 x 10-8 6 “inteiros” “reais” pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Métodos de Representação dos Tipos Numéricos: ◦ Numérico de Ponto Fixo Ponto Fixo sem sinal Representa apenas números não-negativos. Converte-se o valor absoluto (módulo ou magnitude) diretamente para binário. Não há bit para representação de sinal. Exemplo: 510 = 000001012 7 “inteiros” pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Métodos de Representação dos Tipos Numéricos: ◦ Numérico de Ponto Fixo Ponto Fixo com sinal Usa um bit para representar o sinal Métodos: Sinal e Magnitude (ou Módulo e Sinal) Exs: 510 = 000001012 -510 = 100001012 Complemento de 1(inversão dos bits para os negativos, incluindo o bit do sinal) Exs: 510 = 000001012 -510 = 111110102 Complemento de 2 (ou complemento à base 2) Faz-se a inversão dos bits e soma com 1. Exs.: 510 = 000001012 -510 = 111110112 8 bit=0 + bit=1 - nº positivo nº negativo pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Sinal e Magnitude Em um sistema de n bits para representação, teríamos n-1 bits para a magnitude, pois um bit seria destinado ao sinal. Quantidade de representações: bn ou 2n Faixa de representação: -(2n-1 – 1) a +(2n-1 - 1) Quantidade de valores distintos*: bn-1 ou 2n-1, devido à duas representações para o zero. DESVANTAGEM: Mais de uma representação para o zero. 9 •O nº de bits usados na representação é determinado no projeto da CPU. •O valor da magnitude (módulo) é o mesmo, ou seja, independe do sinal, seja o nº positivo ou negativo. Bit do sinal Bits da magnitude * Magnitudes. (ou An,p = p n ) pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Exemplo: Considere um computador que utiliza 3 bits para representar números inteiros em sinal e magnitude. Determine o número de representações possíveis, a faixa de representação e a quantidade de valores distintos. 10 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Complemento de 2 Neste sistema, também teríamos n-1 bits para a magnitude, pois um bit seria destinado ao sinal. Para os nº não negativos ( >= 0), a representação se dá por sinal e magnitude. Para os nº negativos ( < 0) a representação normalmente utilizada é a de “complemento de 2”, sendo feita em dois passos: 1) Toma-se o binário e troca-se 0 por 1 e vice-versa, incluindo o bit do sinal (complemento de 1) (vide pág. 8) 2) Adiciona-se 1 ao binário resultante do passo 1. (vide pág. 8) Quantidade de representações: bn ou 2n Faixa de representação: -(2n-1 ) a +(2n-1 - 1) Quantidade de valores distintos*: bn ou 2n VANTAGEM: Apenas uma representação para o zero. 11 Bit do sinal Bits da magnitude pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Exemplo: Considere um computador que utiliza 3 bits para representar números inteiros no método complemento de 2. Determine o número de representações possíveis, a faixa de representação e a quantidade de valores distintos. 12 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Cada computador suporta um conjunto próprio de caracteres (alfanuméricos). O conjunto mínimo de caracteres seria: ◦ 26 letras maiúsculas; ◦ 26 letras minúsculas; ◦ Algarismos de 0 a 9; ◦ Conjunto de símbolos especiais (espaço, vírgula, ponto, retorno ao início da linha*, sinal de menos, etc.) Para representá-los é suficiente mapear um número para cada caractere, tipo a=1, b=2, A=27. ◦ Ex.: Porém foi necessário padronizar, a fim de permitir a comunicação entre computadores. * Caracteres de controles (não são impressos). 13 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Principais Padrões de Codificação de Caracteres: ◦ ASCII American Standard Code for Information Interchange. ◦ EBCDIC Extended Binary Code Decimal Interchange Code. ◦ UNICODE Mantido pela Unicode Consortium. 14 pág. Tecnologia em Redes de Computadores- Prof. Paulo Amaral Organização de Computadores – Unidade II A codificação ASCII American Standard Code for Information Interchange (Código padrão americano para troca de informações) O ASCII suporta caracteres em 7 bits ◦ 128 representações O ASCII estendido suporta caracteres em 8 bits ◦ 256 representações O ASCII foi útil apenas para os americanos, por isso surgiu o ASCII estendido com suas páginas de código Latin-1, Latin- 2, etc. ◦ Passou a implementar sinais diacríticos (cedilha, trema, acentos, etc.). ◦ Uma página atende a um grupo de idiomas ou um idioma particular. ◦ O problema é que o controle da página em que está passa a ser do software, sendo impossível misturar idiomas nas páginas. ◦ O esquema de páginas, não cobre alguns idiomas como japonês, chinês, etc. 15 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Tabela ASCII: 16 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II A codificação EBCDIC Extended Binary Code Decimal Interchange Code (Código para conversão decimal-binário estendido) Criado pela IBM (desdente da BCD de 6 bits). Utiliza 8 bits para representar caracteres. Usada em mainframes e pelo sistema operacional OS/2. 17 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Tabela EBCDIC: 18 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II A codificação UNICODE O Unicode suporta caracteres em 16 e 32 bits. ◦ 16 bits 65.536 representações. ◦ 32 bits 4.164.895.296 representações. Busca a internacionalização de um padrão. Incorpora a página Latin-1 (0 a 255), facilitando a conversão de ASCII para UNICODE. Alguns métodos de mapeamento (UTF, UCS) são suportados atualmente por vários sistemas operacionais e linguagens de programação. Alguns navegadores suportam diversas subcodificações UTF. Alguns dos problemas continuam: o dicionário japonês (50.000 kanji), o coreano (11.000), etc. 19 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Tabela UNICODE: A codificação Unicode para tifinagh. Fonte: Wikipédia. 20 pág. Tecnologia em Redes de Computadores - Prof. Paulo Amaral Organização de Computadores – Unidade II Tabela UNICODE: A codificação Unicode para o alfabeto oriá. Fonte: Wikipédia. 21
Compartilhar