o semestre

Documentos relacionados
o semestre

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Organização de Computadores I

REPRESENTAÇÃO BINÁRIA. Sistemas de Numeração e Álgebra de Boole SNA0001

Circuitos Lógicos Aula 5

Representação em nível de máquina

Representação Digital da Informação II

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Estrutura de Dados Conceitos Iniciais

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Módulo 5 Codificação Sistemas Multimédia Ana Tomé José Vieira

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

Circuitos Sequenciais I

Disciplina: Introdução à Engenharia da Computação

Os Computadores. A Informação nos Computadores

Unidade 4: Conversões e Cálculos em Outras Bases Prof. Daniel Caetano

Informática I. Aula 6. Aula 6-18/09/2006 1

SISTEMAS DE NÚMERAÇÃO. Números decimais

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Informática I. Aula Aula 22-12/11/2007 1

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

MATA49 Programação de Software Básico

Unidade II. Organização de Computadores. Prof. Renato Lellis

14/03/2011. A INFORMAÇÃO E SUA REPRESENTAÇÃO (Parte I)

PCS 3115 Sistemas Digitais I Códigos Prof. Dr. Marcos A. Simplicio Jr.

Aula 10: Outras Formas de Representação

Introdução à Computação: Sistemas de Numeração

Sistemas de Numeração

SSC512 Elementos de Lógica Digital. Sistemas de Numeração. GE4 Bio

Disciplina: Introdução à Engenharia da Computação

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Organização e Arquitetura de Computadores I

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo - Códigos. Prof. Dr. Edison Spina. sobre o material do Prof. Dr. Marcos A. Simplicio Jr.

Representação de Dados e Sistemas de Numeração

Docentes. Regras de Avaliação

Introdução à Ciência da Computação

Números binários e erros

MD MATEMÁTICA DISCRETA

Organização de Computadores I

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Unidade 2: Introdução à Organização de Computadores Prof. Daniel Caetano

Aula 10: Outras Formas de Representação

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

Fundamentos de Programação. Introdução

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Aula 07. Representação da Informação. Prof. Dr. Dilermando Piva Jr.

Representação da Informação

HARDWARE SISTEMA NUMÉRICO E CODIFICAÇÃO. Wagner de Oliveira

Assunto 1 - Conceitos. Prof. Miguel Damasco

Engenharia Civil. Representação da Informação. Introdução à Computação

Informática Básica aula 06

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

a base da potência usada coincide com a base do sistema de numeração.

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Ponto Flutuante IEEE 754

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

Fabio Bento

Introdução à Informática

Ponto Fixo e Ponto Flutuante

Unidade III. Sistemas Numéricos e o Computador

Linguagem C: Introdução

Neste tópico veremos:

Introdução. Universidade Federal de Campina Grande. A Informação e sua Representação (Parte I) Centro de Engenharia Elétrica e Informática

Aula Expositiva 2. DCC 001 Programação de Computadores. 2º Semestre de 2011 Prof. Osvaldo Carvalho UFMG DCC

Aproximações e Erros

Informática Básica. Prof.: Clayton Maciel Costa. 1. Informática Básica -

Códigos. Códigos. Bits, Bytes & etc. 9/20/10

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À ORGANIZAÇÃO PARA ENGENHARIA DE COMPUTADORES. Prof. Dr. Daniel Caetano

Sistemas Digitais Representação Digital de Informação

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

Representando e Processando Informção

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Sistemas Digitais Representação Digital de Informação

ARQUITETURA DE COMPUTADORES

Representação das Informações

Introdução á Ciência da Computação

Representações de caracteres

INF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática

GFM015 Introdução à Computação

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Representação de quantidade(número)

Arquitetura e Organização de Computadores

Computação e Programação

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

Universidade Federal do Espírito Santo - UFES

Arquitetura de computadores BASE NUMÉRICAS

Sistemas de Computação. Seção Notas. Valores Interessantes. Notas. Ponto Flutuante. Haroldo Gambini Santos. 26 de abril de 2010.

Sistemas de Computação. Sistemas de numeração

Números Binários. Apêndice A V1.0

Sistemas de Numeração

Sistemas de Numeração. Tiago Alves de Oliveira

Circuitos Combinacionais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

ALB - Álgebra de Boole Aula 2 Sistemas Numéricos. Prof. Antonio Heronaldo de Sousa (Heron)

Eletrônica Digital Apresentação e Cap.1 PROF. EDUARDO G. BERTOGNA UTFPR / DAELN

Unidades de Medida. Maria de Fátima de Freitas Bueno Marcílio Fundamentos de Informática

Transcrição:

Computadores e Programação 2007 2008 2 o semestre Aula 29/5/2008 Helmut Wolters, Jorge Landeck, Miguel Oliveira p.1/12

Representação de dados no computador Homem: os mãos têm 10 dedos sistema decimal Computador: memória com elementos tipo ligado/desligado: sistema binário p.2/12

Representação de dados no computador Homem: os mãos têm 10 dedos sistema decimal Computador: memória com elementos tipo ligado/desligado: sistema binário Números inteiros são exactos por definição, i.e. não têm erros de arredondamento ou de qualquer outra fonte. p.2/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 n 2 n 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256.. p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 = 128 + 17 n 2 n 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256.. p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 = 128 + 17 n 2 n 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 1 8 256 0.. 0 p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 = 128 + 17 = 128 + 16 + 1 n 2 n 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 1 8 256 0.. 0 p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 = 128 + 17 = 128 + 16 + 1 n 2 n 0 1 1 2 2 4 3 8 4 16 1 5 32 0 6 64 0 7 128 1 8 256 0.. 0 p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 = 128 + 17 = 128 + 16 + 1 n 2 n 0 1 1 1 2 0 2 4 0 3 8 0 4 16 1 5 32 0 6 64 0 7 128 1 8 256 0.. 0 p.3/12

Transformar entre sistema decimal e sistema binário: x = 145 decimal = 1 10 2 + 4 10 1 + 5 10 0 = 128 + 17 = 128 + 16 + 1 = 1 2 7 + 0 2 6 + 0 2 5 + 1 2 4 + 0 2 3 + 0 2 2 + 0 2 1 + 1 2 0 = 10010001 binário n 2 n 0 1 1 1 2 0 2 4 0 3 8 0 4 16 1 5 32 0 6 64 0 7 128 1 8 256 0.. 0 p.3/12

Tipicamente, um número inteiro num computador é representado no sistema binário p.4/12

Tipicamente, um número inteiro num computador é representado no sistema binário com 32 algarismos, p.4/12

Tipicamente, um número inteiro num computador é representado no sistema binário com 32 algarismos, destes um é utilizado para marcar o sinal. p.4/12

Tipicamente, um número inteiro num computador é representado no sistema binário com 32 algarismos, destes um é utilizado para marcar o sinal. domínio de xǫ[ 2 31 ; 2 31 1]. p.4/12

Tipicamente, um número inteiro num computador é representado no sistema binário com 32 algarismos, destes um é utilizado para marcar o sinal. domínio de xǫ[ 2 31 ; 2 31 1]. entre 2 147 483 648 e 2 147 483 647 p.4/12

Números reais No caso de números reais a situação é muito mais complicado. Em princípio, podemos continuar a ideia, a juntar potências negativas: x = 2, 75 = 2 10 0 + 7 10 1 + 5 10 2 = 2 + 0, 5 + 0, 25 = 1 2 1 + 0 2 0 = + 1 2 1 + 1 2 2 = 10, 11 binário n 2 n.. 0-3 0,125 0-2 0,25 1-1 0,5 1, 0 1 0 1 2 1 2 4 0 3 8 0.. 0 p.5/12

e = 2, 7183... decimal = 2 10 0 + 7 10 1 + 1 10 2 + 8 10 3 + 3 10 4 ±5 10 5 (0, 00005) = 2 + 1 2 + 1 8 + 1 16 + 1 64 + 1 128 + 1 256 + 1 512 + 1 1024 + 1 2048 ± 1 ( 0, 00006) 16384 = 1 2 1 + 0 2 0 + 1 2 1 + 0 2 2 + 1 2 3 + 1 2 4 + 0 2 5 + 1 2 6 + 1 2 7 + 1 2 8 + 1 2 9 + 1 2 10 + 1 2 11 ± 2 12 = 10, 10110111111100... binário p.6/12

y = 1, 1 decimal = 1 + 1 16 + 1 32 + 1 256 + 1 512 + 1 4096 ± 1 8192 = 1 2 0 + 0 2 1 + 0 2 2 + 0 2 3 + 1 2 4 + 1 2 5 + 0 2 6 + 0 2 7 + 1 2 8 + 1 2 9 + 0 2 10 + 0 2 11 + 1 2 12 ± 2 13 = 1, 000110011001... binário aproximado = 1, 00011(0011) binário correcto erros de arredondamento! p.7/12

Tipicamente, um número real num computador é representado no sistema binário numa notação semi-logarítmica, i.e. 1234, 5678 = 1, 2345678 10 5 mantissa = 1, 2345678000000 expoente = 5 Na verdade, tudo isto no sistema binário. p.8/12

IEEE Standard (Institute of Electrical and Electronics Engineers) IEEE 32-bit: 01010101010101010101010101010101 sinal(bit 1) - expoente (bit 2-9) - mantissa (bit 10-32): valor = ( 1) sinal 2 (expoente-127) (1 + mantissa) p.9/12

IEEE Standard (Institute of Electrical and Electronics Engineers) IEEE 32-bit: 01010101010101010101010101010101 sinal(bit 1) - expoente (bit 2-9) - mantissa (bit 10-32): valor = ( 1) sinal 2 (expoente-127) (1 + mantissa) Exemplo: 01000000010000000000000000000000 sinal = 0 expoente = 10000000 bin = 128 mantissa = 0, 10000000000000000000000 bin = 0, 5 valor = ( 1) 0 2 (128-127) (1 + 0,5) = 3, 000000 p.9/12

IEEE Standard (Institute of Electrical and Electronics Engineers) IEEE 32-bit: 01010101010101010101010101010101 sinal(bit 1) - expoente (bit 2-9) - mantissa (bit 10-32): valor = ( 1) sinal 2 (expoente-127) (1 + mantissa) Domínio: ±10 ±38 com 7 dígitos decimais IEEE 64-bit: sinal(bit 1) - expoente (bit 2-12) - mantissa (bit 13-64): valor = ( 1) sinal 2 (expoente-1023) (1 + mantissa) Domínio: ±10 ±308 com 14 dígitos decimais p.9/12

Caracteres ASCII American Standard Code for Information Interchange 1967 7 bits por caracter = 2 7 = 128 combinações 00xxxxx: 0-31: códigos de controlo yyxxxxx: 32-127: dígitos, letras, símbolos de pontuação muito limitado, só permite guardar letras do alfabeto inglês, sem acentos mas até hoje o único standard que funciona em praticamente todos os sistemas na prática ocupa 8 bits (1 byte) com o 8 o bit sempre 0 0xxxxxxx p.10/12

Caracteres Iso-Latin-1 Extensão para 8 bits para caracteres das línguas da Europa Ocidental 0xxxxxxx: ASCII 1xxxxxxx: mais 2 8 =128 combinações, para áàâãäæ... há outros extensões concorrentes não compatíveis (Latin-2,..., Grego, Árabe, Hebráico, Windows codepages,... nem pensar nos símbolos Chineses, Japonêses, Sânscrito,... p.11/12

Caracteres UTF-8 Unicode Transormation Format desde 1991 1 até 4 bytes 0xxxxxxx: ASCII - 1 byte 110xxxxx 10xxxxxx: 2 bytes, mais 2 11 =2048 combinações 1110xxxx 10xxxxxx 10xxxxxx: 3 bytes, mais 2 16 =65.536 combinações 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx: 4 bytes, mais 2 21 =2.097.152 combinações é compatível com ASCII está a ser implementado a nível internacional, pouco a pouco, em todos os sistemas p.12/12