Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação



Documentos relacionados
Introdução à Computação

Organização e Arquitetura de Computadores I

Introdução à Computação

Representação de Dados

Aritmética Binária e. Bernardo Nunes Gonçalves

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Exemplo de Subtração Binária

Arquitetura de Computadores

Codificação 1. Introdução. C 2 R r {! + codificação

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Aula 6 Aritmética Computacional

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

CAPÍTULO 6 ARITMÉTICA DIGITAL

3 Sistemas de Numeração:

1. Sistemas de numeração

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Operações aritméticas

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Sistemas de Numerações.

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Aula 2: Conversão entre Bases, Aritmética

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante.

1. Introdução 2. Representação de números 2.1. Conversão Numérica 2.2. Aritmética de ponto flutuante 3. Erros 3.1 Erros Absolutos e Relativos

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Hardware de Computadores

Sistemas de Numeração (Aula Extra)

SISTEMAS DE NUMERAÇÃO

Sistemas de Numeração

Circuitos Digitais Cap. 5

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

Aula 3 - Sistemas de Numeração

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

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

Sistemas de Numeração

Aula 9. Introdução à Computação. ADS IFBA

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Sistemas Numéricos Eletrônica Digital PROFESSOR LUCAS KOEPSEL ROSA

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Unidade 5: Sistemas de Representação

Erros. Cálculo Numérico

2. Representação Numérica

Capítulo 1. Introdução. 1.1 Sistemas numéricos

Universidade Federal de São João Del Rei - UFSJ

Aritmética de Ponto Fixo

Introdução à Engenharia de

INTRODUÇÃO AOS SISTEMAS LÓGICOS

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Álgebra de Boole. Sistema de Numeração e Códigos. Prof. Ubiratan Ramos

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Índice de conteúdos. Índice de conteúdos. Capítulo 2. Representação de Números e Erros Representação de números em diferentes bases...

ELETRÔNICA DIGITAL 1

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Representação Binária de Números

Projeto e Desenvolvimento de Algoritmos

2. Sistemas de numeração

Números base 2, 8, 10, 16. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Ano letivo: 2012/2013. Sistemas de numeração. Pág.: 1/11. Escola profissional de Fafe SDAC. Trabalho elaborado por: Ana Isabel, nº905 TURMA 7.

Lógica Combinacional Aula 01 Sistema de Numeração. Felipe S. L. G. Duarte

Medidas e Incertezas

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Aula 2 Sistemas de Numeração (Revisão)

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1.

COMPUTAÇÕES NUMÉRICAS. 1.0 Representação

Notas de aula #1 SISTEMAS NUMÉRICOS

Sistemas de Numeração

Lista de Exercícios Sistemas de Numeração

UNIBRATEC Ensino Superior e Técnico em Informática DHD Desenvolvimento em Hardware

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

Instituto Politécnico. Curso: Tec. Redes de Computadores. Disciplina: Organização de Computadores. Prof.: Fábio Lucena Veloso

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Sistemas de Numeração

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

5º Experimento: Somador Binário de números com sinal

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Organização de Computadores 1

Representação de Dados

Sistemas de Numeração

1. NÍVEL CONVENCIONAL DE MÁQUINA

ICC - Aula 6. Ivan da Silva Sendin. November 17, Bits, portas logicas, flip-flops,... Numeros e Simbolos Exercicios

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C

Conversões em Sistemas de Numeração. José Gustavo de Souza Paiva

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

ARQUITETURA DE COMPUTADORES

Transcrição:

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br Carga Horária: 60 horas

A Informação e sua Representação Representação de algarismos Linguagem humana O sinal (= ou -) é um símbolo de forma diversa daquela utilizada para os algarismos que representam o valor do número (0, 1, 2,..5,...). O sinal é colocado separado da magnitude (+31), não fazendo parte dos cálculos em si, mas tão-somente servindo para definir o sinal do resultado e o tipo da operação a ser realizada efetivamente. Sistemas de computação O sinal é um símbolo de forma idêntica à dos algarismos representativos do seu valor (é um bit igual aos demais). O bit de sinal está incorporado aos bits da magnitude, formando um único número. 2

Operações aritméticas ticas Sistema Binário Adição Subtração Multiplicação Divisão As operações aritméticas nos sistemas binário, octal, decimal e hexadecimal obedecem a regras similares. 3

Adição Sistema binário Adição deslocamento à direita na série, cada deslocamento correspondendo a adição de uma unidade. Adição entre dois números de um algarismo pode-se obter resultados com um ou dois dígitos. Estouro (maior algarismo é ultrapassado): Carry (transporte) ou vai-um. 4

Adição Sistema binário Regra: 5

Subtração Sistema binário Inversa à adição deslocamento à esquerda do minuendo de tantas unidades quantas forem o subtraendo. Se o minuendo é menor que o subtraendo? Estouro subtrair uma unidade do minuendo ou somar uma unidade ao subtraendo da casa seguinte. Estouro borrow (empréstimo) ou vem-um. 6

Subtração Sistema binário Regra: 7

Outras Operações Aritméticas ticas Multiplicação Sistema binário Regra 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 1 Multiplicação pela base Desloca-se os algarismos de um número para a esquerda ou a sua vírgula para a direita. 8

Outras Operações Aritméticas ticas Divisão Sistema binário Procedimento igual ao dos decimais, considerandose apenas que: 0/1 = 0 e 1/1 = 1. 1 Divisão pela Base Deslocando-se os algarismos de um número para a direita ou a sua vírgula para a esquerda. 9

A Informação e sua Representação Aritmética tica em Sinal e Magnitude Aritmética tica em Complemento de 2 Aritmética tica em Ponto Flutuante Aritmética tica em BCD (informação adicional) 10

Aritmética tica em Sinal e Magnitude Algoritmo para operação aritmética tica de adição: 1 Verificam-se os sinais dos números e efetua-se uma comparação entre eles. Se ambos os números têm o mesmo sinal, somam-se as magnitudes; o sinal do resultado é o mesmo das parcelas. Se os números têm sinais diferentes: a) identifica-se a maior das magnitudes e registra-se o seu sinal; b) subtrai-se a magnitude menor da maior (apenas as magnitudes); c) sinal do resultado é igual ao sinal da maior magnitude. 11

Aritmética tica em Sinal e Magnitude Exemplo: Realize as operações aritméticas a seguir (em sinal e magnitude). Considere a palavra de dados com 6 bits. a) (+13) 10 + (+12) 10 b) (+18) 10 + (-11) 10 c) (-21) 10 + (+10) 10 d) (-17) 10 + (-9) 10 e) (+17) 10 + (+19) 10 f) (-17) 10 + (-19) 10 12

Aritmética tica em Sinal e Magnitude Solução: a) (+13) 10 + (+12) 10 b) (+18) 10 + (-11) 10 +13 001101 +12 001100 +25 011001 +18 010010-11 101011 + 7 000111 c) (-21) 10 + (+10) 10 d) (-17) 10 + (-9) 10-21 110101-17 110001 +10 001010-9 101001-11 101011-26 111010 13

Aritmética tica em Sinal e Magnitude Solução: a) (+17) 10 + (+19) 10 b) (-17) 10 + (-19) 10 vai 1 1 vai 1 1 +17 010001 +19 010011 +36 100100 overflow -17 110001-19 110011-36 100100 Estouro (overflow) - existência de um vai 1 para o bit de sinal. Faixa de representação de valores para 6 bits (em sinal e magnitude) -31 a + 31. 14

Aritmética tica em Sinal e Magnitude Subtração (Minuendo - Subtraendo = Resultado) Algoritmo para operação aritmética tica de subtração: 1. Troca-se o sinal do subtraendo. 2. Procede-se como no algoritmo da adição. 15

Aritmética tica em Sinal e Magnitude Exemplo: Realize as operações aritméticas a seguir (em sinal e magnitude). Considere a palavra de dados com 6 bits. a) (-18) 10 - (+12) 10 b) (-27) 10 - (-14) 10 c) (+27) 10 - (+31) 10 d) (+19) 10 - (-25) 10 16

Aritmética tica em Sinal e Magnitude Solução: a) (-18) 10 - (+12) 10-12 10 b) (-27) 10 - (-14) 10 +14 10-18 110010-12 101100-30 111110-27 111011 +14 001110-13 101101 c) (+27) 10 - (+31) -31 10 10 d) (+19) 10 - (-25) +25 10 10 +27 011011-31 111111-4 100100 vai 1 overflow +19 010011 +25 011001 +44 101100 17

Aritmética tica em Sinal e Magnitude O problema encontrado pelos fabricantes de computadores na implementação da ULA (Unidade Lógica e Aritmética) que efetuasse operações aritméticas com valores representados em sinal e magnitude residiu, principalmente, em dois fatores: custo e velocidade. Custo - necessidade de construção de dois elementos, um para efetuar somas e outro para efetuar subtração (dois componentes eletrônicos). Velocidade - ocasionada pela perda de tempo gasto na manipulação dos sinais, de modo a determinar o tipo de operação e o sinal do resultado. 18

Aritmética tica em Sinal e Magnitude Outro inconveniente: dupla representação para o zero, o que requer um circuito lógico específico para evitar erros de má interpretação. Sistemas modernos não empregam aritmética em sinal e magnitude, a qual foi definitivamente substituída pela aritmética tica em complemento de 2 (no caso de representação em ponto fixo). 19

Aritmética tica em Complemento de 2 Algoritmo para operação aritmética tica de adição: 1. Somar os dois números, bit a bit, inclusive o bit de sinal. 2. Desprezar o último vai 1 (para fora do número), se houver. 3. Se, simultaneamente, ocorrer vai 1 para o bit de sinal e vai 1 para fora do número, ou se ambos não ocorrerem, o resultado está correto. 4. Se ocorrer apenas um dos dois vai 1 (ou para o bit de sinal ou para fora), o resultado está incorreto. Ocorreu um overflow. O overflow somente pode ocorrer se ambos os números tiverem o mesmo sinal (seja positivo ou ambos negativos) e, nesse caso, se o sinal do resultado for oposto ao dos números. 20

Aritmética tica em Complemento de 2 Algoritmo para operação aritmética tica de subtração: 1. Complementar a 2 o subtraendo, independentemente se é um valor positivo ou negativo. 2. Somar os números, utilizando o algoritmo da adição já mostrado anteriormente. 21

Aritmética tica em Complemento de 2 Resumindo, é importante lembrar que: As operações de adição e subtração são normalmente realizadas como adição. As operações de subtração são realizadas como soma de complemento (minuendo mais o complemento do subtraendo). valor positivo: Se o resultado encontrado é um valor positivo o valor decimal correspondente da magnitude é obtido por pura conversão de base 2 para base 10. Se o resultado encontrado é um valor negativo: deve-se primeiro converter esse valor para representação de sinal e magnitude (consistirá em trocar o valor dos bits da magnitude e somar 1 ao resultado) e, em seguida, converter a magnitude de base 2 para base 10. 22

Aritmética tica em Complemento de 2 Exemplo: Realize as operações aritméticas a seguir (em complemento de 2). Considere a palavra de dados com 6 bits. a) (+13) 10 + (+15) 10 b) (+23) 10 + (+20) 10 c) (+15) 10 + (-13) 10 d) (+20) 10 - (+17) 10 e) (-24) 10 - (-15) 10 f) (-24) 10 - (+15) 10 23

Aritmética tica em Complemento de 2 Solução: a) (+13) 10 + (+15) 10 b) (+23) 10 + (+20) 10 001111 +13 001101 +15 001111 +28 011100 Resultado correto - não houve vai 1 nem para o bit de sinal nem para fora do número. 010100 +23 010111 +20 010100 +43 101011 Resultado incorreto - houve vai 1 apenas para o bit de sinal. Overflow - faixa de representação para 6 bits (-32 a 31) 24

Aritmética tica em Complemento de 2 Solução: c) (+15) 10 + (-13) 10 d) (+20) 10 - (+17) 10 111111 +15 001111-13 110011 +2 000010 111100 +20 010100-17 101111 +3 000011 Resultados corretos - houve vai 1 para o bit de sinal e para fora do número; este é desprezado. 25

Aritmética tica em Complemento de 2 Solução: e) (-24) 10 - (-15) 10 f) (-24) 10 - (+15) 10 001000-24 101000 +15 001111-9 110111 100000-24 101000-15 110001-39 011001 Resultado correto - não houve vai 1 para o bit de sinal nem para fora do número. Resultado incorreto - houve vai 1 apenas para fora do número. Overflow - faixa de representação para 6 bits (-32 a 31) 26

Aritmética tica em Complemento de 2 A aritmética em complemento de 2 requer apenas um componente (somador) para somar dois números e um componente que realize a operação de complementação ão. O algoritmo básico refere-se, então, à soma dos números, considerando-se que os números negativos estejam representados em complemento de 2; ele acusa, também, se o resultado ultrapassar a quantidade de bits representáveis na ULA, overflow. Pode-se efetuar a multiplicação através de sucessivas somas e a divisão através de sucessivas subtrações (processo lento!). 27

Operações aritméticas ticas Sistema Binário Observação ão: A multiplicação em computadores pode ser feita por um artifício: para multiplicar um número A por n, basta somar A com A, n vezes. Por exemplo, 4 x 3 = 4 + 4 + 4. A divisão também pode ser feita por subtrações sucessivas! O que concluímos? Uma operação aritmética tica pode ser realizada em computadores apenas através s de somas (diretas ou em complemento)! 28

Aritmética tica em Ponto flutuante Representação de números em ponto flutuante (notação científica) n = ±m m x b ± e n - número m mantissa (ou significando) b - base (2) e - expoente As operações aritméticas devem ser realizadas considerando o produto; as mantissas e os expoentes devem ser manipulados separadamente. Ao fazer a operação dos expoentes, verificar qual a sua representação. 29

Aritmética tica em Ponto flutuante Adição e Subtração (m 1 x b e1 ) + (m 2 x b e2 ) = (m 1 x b e1 ) + (m 3 x b e1 = (m 1 + m 3 ) x b e1 e1 ) (m 1 x b e1 ) - (m 2 x b e2 ) = (m 1 x b e1 ) - (m 3 x b e1 = (m 1 - m 3 ) x b e1 e1 ) São operações mais complexas em ponto flutuante do que em aritmética de ponto fixo, devido à necessidade de alinhamento da vírgulav (ponto) fracionária ria. 30

Aritmética tica em Ponto flutuante Processo usual de ajuste da igualdade dos expoentes:o sistema efetua a subtração entre os valores dos expoentes. Em seguida, a mantissa de menor valor é dividida (deslocamento à direita - shift right) pelo valor da base diferença. A operação de soma ou subtração das mantissas é uma simples operação em ponto fixo; o resultado da operação deve ser normalizado. 31

Aritmética tica em Ponto flutuante Exemplo: Realize a operação aritmética 25,5 10 (A) + 3,75 10 (B), em ponto flutuante, utilizando 32 bits. 25,5 10 = 0 10000011 10011000000000000000000 = 1,10011 x 2 4 = 0,110011 x 2 5 3,75 10 = 0 10000000 11100000000000000000000 = 1,111 x 2 1 = 0,1111 x 2 2 = 0,0001111 x 2 5 A + B = 0,1110101 x 2 5 = 29,25 10 29,25 10 = 1,110101 x 2 4 = 0 10000011 11010100000000000000000 (IEEE 754) 32

Aritmética tica em Ponto flutuante Multiplicação e Divisão As operações de multiplicação e divisão com números representados em ponto flutuante também requerem a manipulação separada da mantissa e do expoente, não havendo porém a necessidade da operação de alinhamento da vírgula (que é uma operação demorada). (m 1 x b e1 ) x (m 2 x b e2 ) = (m 1 x m 2 ) b (e1+e2) (m 1 x b e1 ) / (m 2 x b e2 ) = (m 1 / m 2 ) b (e1 (e1-e2) e2) 33

A Informação e sua Representação A diferença de formas de representação e respectivos algoritmos de realização de operações matemáticas é bastante útil, pois cada uma tem uma aplicação na qual é mais vantajosa que a outra. Cabe ao programador a escolha da forma a ser utilizada pelo sistema, podendo ser: explícita - o programador define as variáveis e constantes em seu programa. implícita - o programador deixa que o compilador faça sua própria escolha. 34

A Informação e sua Representação Qualquer dos métodos utilizados para representar números em computador (sinal e magnitude, complemento de 2, ponto flutuante, BCD) requer atenção do programador pelo fato de que algumas operações realizadas podem redundar em erro no resultado. Motivo: quantidade finita e limitada de algarismos utilizada nas máquinas. Números inteiros são menos problemáticos - o programador pode criar uma faixa menor e mais definida de valores em seu programa, porém, com números reais (fracionários), o problema se torna muito maior à medida que é possível criar infinitos valores entre qualquer faixa de valores. 35

A Informação e sua Representação Diferentemente de nossos cálculos usando papel e lápis, cujo único limite é o tamanho do papel, em computação precisa-se ter atenção aos limites impostos pela quantidade máxima de bits dos valores representados e dos diversos componentes da máquina (registradores, barramento, etc.) - Tais limites afetam a precisão dos resultados. 36

A Informação e sua Representação Quadro resumo dos tipos primitivos de dados (entendidos pelo hardware do computador) Caractere Numérico Lógico Sinal e magnitude Ponto Fixo Complemento de 2 Ponto Flutuante Decimal Permite a utilização de variáveis que possuem apenas dois valores para representação, FALSO (0) e VERDADEIRO (1). Permite realizar também operações que empregam operadores lógicos encontrados nos computadores. Para o melhor entendimento é necessário o estudo de conceitos da Lógica L Digital. 37