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

Documentos relacionados
Organização e Arquitetura de Computadores I

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

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

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

Códigos Especiais. Tiago Dezuo DEE - Engenharia Elétrica CCT. ALB0001 Álgebra de Boole JOINVILLE

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

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

Sistemas de Numeração

Organização de Computadores I

ARQUITETURA DE COMPUTADORES

Cálculo Numérico Conceitos Básicos

Infraestrutura de Hardware

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores

Estrutura de Dados Conceitos Iniciais

Sistemas Digitais INE 5406

ARQUITETURA DE COMPUTADORES

Sistemas numéricos e a Representação Interna dos Dado no Computador

Arquitetura de Computadores

Aula 3 - Representação de Dados

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

Introdução à Computação

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

Aritmética dos Computadores

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Paradigmas de Linguagens

Introdução à Computação MAC0110

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

Introdução à Computação

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

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

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

SISTEMA DE NUMERAÇÃO. Introdução a Informática. Vinícius Pádua

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

Organização e Arquitetura de Computadores I

Base: número de símbolos empregados no sistema numérico.

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

Introdução à Computação

CCI-22 CCI-22. Introdução e Motivação. Matemática Computacional. Conteúdo. Finalidade

Organização e Arquitetura de Computadores I

CCI-22. Prof. Paulo André Castro Sala 110 Prédio da Computação

Princípios de Desenvolvimento de Algoritmos MAC122

ARQUITECTURA DE COMPUTADORES

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

Introdução à Computação

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Ponto Fixo e Ponto Flutuante

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

SISTEMAS DE NUMERAÇÃO

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

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

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

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

Circuitos Lógicos. Prof. Odilson Tadeu Valle

2. E presse cada um dos seguintes números inteiros decimais na representação sinal e magnitude e complemento a 2, utilizando 8 bits Resposta:

Algoritmos I Aula 13 Linguagem de Programação Java

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Sistemas de Numeração

Sistemas de Numeração. Tiago Alves de Oliveira

ELETRÔNICA DIGITAL I

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

Unidade 2: Sistemas de Numeração Numerais Binários e Bases de Potência de Dois Prof. Daniel Caetano

Arquitetura e Organização de Computadores. Sistemas Numéricos

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

MATA49 Programação de Software Básico

CCI-22 CCI-22. Introdução e Motivação. Matemática Computacional. Conteúdo. Finalidade. Carlos Henrique Q. Forster Conteúdo, Avaliação, Bibliografia

Cursos: Análise, Ciência da Computação e Sistemas de Informação Laboratório I - Prof. Aníbal Notas de aula 2 SISTEMAS NUMÉRICOS

Aritmética Computacional Aula 01. Professor: André Luis Meneses Silva orgearq20091.wordpress.com

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

MANUTENÇÃO DE COMPUTADORES SISTEMAS NUMÉRICOS

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

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

Algoritmos e Estruturas de Dados I

Sistemas Numéricos e Representação de Dados. Heitor S. Ramos

Sistemas de numeração e conversão de bases Decimal e binário

1/50. Conceitos Básicos. Programa Básico

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Representação Digital da Informação II

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Métodos Numéricos. Turma CI-202-D. Josiney de Souza.

Sistema de memória e suas características

3. Linguagem de Programação C

Computação e Programação

Organização e Arquitetura de Computadores SI31C. Professora Me. Sediane Carmem Lunardi Hernandes

Unidade 3: Sistemas de Numeração Numerais Binários e Bases de Potência de Dois Prof. Daniel Caetano

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Prof. Leonardo Augusto Casillo

Linguagem C: Introdução

GFM015 Introdução à Computação

Unidade 4: Sistemas de Numeração Representação de Dados em Ponto Fixo Prof. Daniel Caetano

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

Métodos Numéricos - Notas de Aula

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

Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números.

Transcrição:

Colegiado de Engenharia de Computação Disciplina: Introdução à Engenharia da Computação Aula 07 (semestre 2011.2) Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc. rosalvo.oliveira@univasf.edu.br 2

Representação da Informação em Sistemas Computacionais (continuação) 3

A Informação e sua representação Operações com binários Soma Subtração Multiplicação Divisão 4

A Informação e sua representação Soma 0+0=0 0+1=1 1+0=1 1+1= fica 0 e transporte de 1 (para somar ao digito imediatamente à esquerda) 1+1+1= fica 1 e transporte de 1(para somar ao digito imediatamente à esquerda) 5

A Informação e sua representação Soma 6

A Informação e sua representação Exemplo: 1100 + 1111 7

A Informação e sua representação Subtração 1-1=0 1-0=1 0-0=0 0-1=1 e vai 1* para ser subtraído no digito seguinte 8

A Informação e sua representação Subtração 9

A Informação e sua representação Multiplicação A multiplicação entre binários é similar à realizada com números decimais. A única diferença está no momento de somar os termos resultantes da operação. 10

A Informação e sua representação Multiplicação 11

A Informação e sua representação Exemplo: 1 1 1 x 1 1 1 12

A Informação e sua representação Divisão Essa operação também é similar àquela realizada entre números decimais: 110 /10 = 11 13

A Informação e sua representação Conversão entre Sistemas de Numeração Conversão de Números Fracionários Lei de Formação ampliada (polinômio): Exemplo: (101,110) 2 = (? ) 10 1 2 2 + 0 2 1 + 1 2 0 +1 2-1 + 1 2-2 + 0 2-3 = (5,75) 10 14

A Informação e sua representação Conversão entre Sistemas de Numeração Decimal outro sistema Operação inversa: multiplicar a parte fracionária pela base até que a parte fracionária do resultado seja zero. Exemplo: (8,375) 10 = (? ) 2 15

A Informação e sua representação Em um computador são armazenados e processados apenas dados e instruções. Um computador executa operações sobre dados numéricos (os números) ou alfabéticos (letras e símbolos). É preciso definir uma forma de representar os dados, codificados em uns e zeros, que possam ser interpretados pelo computador, de forma correta e eficiente (com bom desempenho e pouco consumo de memória). 16

A Informação e sua representação Os dados podem ser: Alfabéticos Letras, números e símbolos (codificados em ASCII e EBCDIC) Numéricos Números inteiros Ponto flutuante (números reais ou fracionários) Lógicos Variáveis que possuem apenas dois valores para representação (FALSO e VERDADEIRO). 17

Representação de números inteiros Todos os dados numéricos são representados em um computador como uma seqüência de 0s e 1s. Os números podem ser positivos ou negativos. As operações aritméticas, em particular a subtração, podem originar resultados negativos. Um aspecto primordial a ser definido seria então como representar o sinal. Como é que um computador sabe que um dado número é negativo? 18

Representação de números inteiros A resposta a esta pergunta é que isso depende da convenção usada na representação de números. As convenções mais usuais são as seguintes : Representação de grandeza com sinal (sinal e magnitude) Representação em complemento de 2 19

Representação de números inteiros O bit mais significativo representa o sinal: 0 (indica um número positivo) 1 (indica um número negativo) Os demais bits representam a grandeza (magnitude). sinal magnitude O valor dos bits usados para representar a magnitude independe do sinal (sendo o número positivo ou negativo, a representação binária da magnitude será a mesma). Exemplos: (8 bits) 00101001 2 = +41 10 10101001 2 = - 41 10 20

Representação de grandeza com sinal Exemplos: (8 bits) Valor decimal +9-9 +127-127 Valor binário com 8 bits (7 + bit de sinal) 00001001 10001001 01111111 11111111 Assim, uma representação em binário com n bits teria disponível para a representação do número n-1 bits (o bit mais significativo representa o sinal). 21

Representação em complemento de 2 Representação de números inteiros positivos Igual à representação de grandeza com sinal. Representação de números inteiros negativos Mantêm-se os bits menos significativos da direita para a esquerda até a ocorrência do primeiro bit igual a 1 (inclusive), sendo os bits restantes complementados de 1. Exemplo : (8 bits) 00001100 2 = +12 10 Exemplo : (8 bits) 00101001 2 = +41 10 11110100 c2 = -12 10 11010111 c2 = -41 10 22

Representação de números inteiros Números negativos de 8 bits expressos em 3 sistemas diferentes N (decimal) N (binário) -N (sinalmagnitude) -N (complemento de 2) 1 00000001 10000001 11111111 2 00000010 10000010 11111110 3 00000011 10000011 11111101 4 00000100 10000100 11111100 10 00001010 10001010 11110110 20 00010100 10010100 11101100 23

Representação de números inteiros Haverá sempre um padrão de bits a mais ou a menos, não importa qual a representação escolhida. 24

Representação de números reais Em alguns tipos de cálculo, a faixa de variação dos números envolvidos é muito grande. Exemplo: 1) Massa do elétron - da ordem de 9 x 10-28 gramas 2) Massa do Sol - aproximadamente igual a 2 x 10 33 gramas Faixa de variação: > 10 60 Exemplo de representação (34 dígitos à esquerda do ponto decimal e 28 dígitos à direita do mesmo) 1) 0000000000000000000000000000000000.0000000000000000000000000009 2) 2000000000000000000000000000000000.0000000000000000000000000000 Como representar esses números no computador? 25

Representação de números reais Forma usual de representação de números reais: parte inteira, vírgula (ou ponto), parte fracionária. Esta representação, embora cômoda para cálculos no papel, não é adequada para processamento no computador. Exemplo: 45,724 26

Representação de números reais O número 45,724 pode ser expresso como: 45,724 x 10 0 45724 x 10-3 0,45724 x 10 2 É necessário o uso de um sistema de representação de números no qual a faixa de variação dos números seja independente do número de dígitos significativos dos números representados. 27

Representação em ponto flutuante Uma maneira de separar a faixa de variação dos números de sua precisão consiste em representá-lo na notação científica. n = f x 10 e v f - fração ou significando (ou mantissa) e - expoente (inteiro positivo ou negativo) Qualquer número (inteiro ou fracionário) pode ser expresso no formato número x base expoente, podendo-se variar a posição da vírgula e o expoente. Denominação (computacional): representação em ponto flutuante (o ponto varia sua posição, modificando, em conseqüência, o valor representado). 28

Representação em ponto flutuante Representação pode variar ( flutuar ) a posição da vírgula, ajustando a potência da base. Exemplos: 3,14 = 0,314 x 10-1 = 3,14 x 10 0 0,000001= 0,1 x 10-5 = 1,0 x 10-6 1941 = 0,1941 x 10 4 = 1,941 x 10 3 A faixa de variação dos números é determinada pela quantidade de dígitos do expoente, e a precisão é determinada pela quantidade de dígitos do significando. 29

Representação em ponto flutuante Forma normalizada: usa um único dígito antes da vírgula, diferente de zero (*). Na representação computacional de números em ponto flutuante, a representação normalizada é, em geral, melhor que a nãonormalizada. Forma normalizada: só existe uma forma de representar um número. Forma não normalizada: um mesmo número pode ser representado de diversas maneiras. (*) O padrão IEEE 754 para números em ponto flutuante significando normalizado começa com um bit 1, seguido de um ponto (vírgula) binário e pelo resto do significando (número = ± 1,... x 2 exp ) 30

Representação da Informação no computador Equipamento digital que só entende 0s e 1s Compilador Processador Linguagem de máquina Linguagem assembly Linguagem de Programação 31

Representação da Informação no computador Por exemplo, para fazer a seguinte conta: 1 + 2 + 3 Em um computador hipotético, a simples operação acima poderia ser executada através de um programa como este: 00000001 00000001 00000010 00000010 00000010 00000011 Traduzindo para algo mais legível, o programa acima seria composto pelas seguintes instruções: Guardar o valor 1 Acrescentar ao valor guardado o valor 2 Acrescentar ao valor guardado o valor 3 32

Representação da Informação no computador O código anterior escrito em linguagem de programação: public class Soma { public static void main(string[] args) { int valor = 1; valor = valor + 2; System.out.println(valor); } } 33

Representação da Informação no computador Exemplos de linguagens de programação: Java C C++ C# Pascal 34

Representação da Informação no computador Tipos de dados em Java Tipo Boolean Char Byte Short Int Long float Descrição Pode assumir o valor true ou o valor false Caractere em notação Unicode de 16 bits Inteiro de 8 bits em notação de complemento de dois Inteiro de 16 bits em notação de complemento de dois Inteiro de 32 bits em notação de complemento de dois Inteiro de 64 bits em notação de complemento de dois Representa números em notação de ponto flutuante normalizada em precisão simples de 32 bits em conformidade com a norma IEEE 754-1985. 35

Representação de números inteiros Exemplo: Escreva os números decimais abaixo nas seguintes representações: sinal e magnitude; representação em Grandeza com sinal; representação em complemento de 2 (utilizando 8 bits, se existir representação). a) -10 b) 15 c) 100 d) 130 36

Representação de números inteiros Exemplo: Efetue as seguintes operações em binário: a) 0101 + 0100 b) 101010 + 1001 c) 10111001 + 101011 37

Referências Bibliográficas Notas de aula da disciplina Introdução à Informática, do professor Fabrício Braga (UNIVASF). Notas de aula da disciplina Introdução à Computação, da professora Joseana Macêdo Fechine (UFCG). STALLINGS, W. Arquitetura e Organização de Computadores. 5ª ed. Pearson Prentice-Hall do Brasil, 2006. Sítio da internet: http://www.calculadoraonline.com.br/view/index.php 38