Apostila de Arquitetura dos Computadores

Tamanho: px
Começar a partir da página:

Download "Apostila de Arquitetura dos Computadores"

Transcrição

1 Apostila de Arquitetura dos Computadores Versão Preliminar Setembro de

2 1.1 INTRODUÇÃO: Capítulo 1 Evolução Histórica dos Computadores Conceituação: Mário A. Monteiro (Introdução à Organização de Computadores) Um computador é uma máquina (composta de partes eletrônicas e eletromecânicas) capaz de sistematicamente coletar, manipular e fornecer resultados das manipulações de informações para um ou mais objetivos. Processamento de dados consiste em uma série de atividades ordenadamente realizadas, com o objetivo de produzir um arranjo determinado de informações a partir de outras obtidas inicialmente. Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa da coleta). Informação é o resultado do processamento, isto é, o dado processado ou acabado. Dados Processamento Resultado: Informação Figura 3.1 Etapas básicas de um processamento de dados Sistemas: Um sistema é um conjunto de partes coordenadas que concorrem para a realização de um determinado objetivo. O enfoque sistemático se faz presente em várias áreas do desenvolvimento comercial, científico, industrial e social. Sistema de processamento de dados (SPD) são aqueles responsáveis pela coleta, armazenamento, processamento e recuperação, em equipamento eletrônico, dos dados necessários ao funcionamento de um outro sistema maior: o sistema de informação. a) Sistema de computação; b) Sistema de aplicação. Sistema de informação de uma empresa pode ser conceituado como o conjunto de métodos, processos e equipamentos necessários para se obter, processar e utilizar informações dentro da empresa. Os sistemas de informações se desenvolvem segundo duas dimensões: a) componentes da organização: diversos setores funcionais; b) nível de decisão: operacional, gerencial e alto nível da organização. Sistema de informações gerenciais (SIG) é o sistema que engloba todos os componentes e todos os níveis de decisão de uma organização. 2

3 1.1.3 Sistemas de Computação: Programa é um conjunto de instruções. 1. Escrever e guardar N = 0 e SOMA = 0; 2. Ler número da entrada; 3. Somar valor do número ao de SOMA e guardar resultado como SOMA; 4. Somar 1 ao valor de N e guardar resultado como novo N; 5. Se valor de N for menor que 100, então passar para item 2; 6. Senão: imprimir valor de SOMA; 7. Parar. Figura 3.2 Algoritmo para soma de 100 números. Um programa de computador é a formalização de um algoritmo em linguagem inteligível pelo computador. Linguagem binária é a linguagem de comunicação dos computadores. Na linguagem binária os caracteres inteligíveis não são A, B, +, 0, etc., mas apenas zero(0) e um (1). Essa linguagem também chamada de linguagem de máquina, é, para os seres humanos, tediosa de manipular, difícil de compreender e fácil de acarretar erros. Por essa razão, foram desenvolvidas outras linguagens, mais próximas do entendimento dos operadores, genericamente chamadas de Linguagens de programação. Instruções de máquinas entendidas pelos computadores: a) executar operações aritméticas sobre dois números; b) executar operações lógicas sobre dois números; c) mover um conjunto de bits (um número ou parte) de um ponto para outro do computador; d) desviar a seqüência do programa; e) comunicação com algum dispositivo de entrada ou saída de dados. Hardware é o conjunto formado pelos circuitos eletrônicos e partes eletromecânicas de um computador. Software consiste em programas, de qualquer tipo e em qualquer linguagem, que são introduzidos na máquina para fazê-la trabalhar, passo a passo, e produzir algum trabalho. 1.2 HISTÓRICO: É comum encontrar uma divisão histórica da evolução dos computadores segundo o elemento básico de sua organização: Válvulas, transistores, circuito integrado, pastilhas de alta e muito alta integração Época dos dispositivos mecânicos (500 a.c 1880) O conceito de efetuar cálculo surgiu com os babilônios e sua invenção o Ábaco. A primeira evolução do ábaco aconteceu em 1642, quando o filosofo e matemático Blaise Pascal construiu um contador mecânico que realizava soma e subtração. 3

4 Época dos dispositivos Eletromecânicos ( ) Com a invenção do motor elétrico surgiu uma grande quantidade de máquinas de somar acionadas por motores elétricos, baseados no princípio de funcionamento da máquina de Pascal. Em 1889, Hollerith desenvolveu o cartão perfurado para guardar dados e uma máquina tabuladora mecânica, acionada por um motor elétrico, que contava, classificava e ordenava informações armazenadas no cartão perfurado. Em 1914, foi criada a IBM. Até a década de 1980, os cartões perfurados foram um dos principais elementos de entrada de dados dos computadores digitais, tais como IBM/360/ Época dos componentes eletrônicos Primeiras Invenções ( ) O problema dos computadores mecânicos era: a) baixa velocidade de processamento; b) falta de confiabilidade dos resultados Época dos componentes eletrônicos (1945 -?) Primeira Geração: Computadores à válvula O 1 o computador eletrônico digital ENIAC (Electronic Numerical Integrator And Computer): Projetado de 1943 a 1946; Funcionou até 1955; Possuía válvulas e 8000 Km de cabos; Pesava 30 toneladas; Consumia grande quantidade de energia e válvulas que queimava freqüentemente; operações por segundo; 20 registradores que guardavam valor numérico de 10 dígitos; Era uma máquina decimal, não binária, cada dígito é representado por um anel de 10 válvulas; Programação feita através da recolocação dos fios. Em 1945 foi iniciada a construção do IAS (Von Neumann), que para os estudos de arquitetura de computadores, ele é fundamental. Era constituído de quatro unidades principais: a memória, a UCP, a UC e dispositivos de entrada e saída; memória de posições, chamadas de palavras, cada uma podendo armazenar 40 dígitos binários (bits); tantos dados como instruções eram representados na forma binária r armazenados na mesma memória; Resumindo, o IAS possuía características de arquitetura que permaneceram ao longo do tempo. As máquinas evoluíram consideravelmente em velocidade, capacidade de armazenamento, miniaturização, consumo de energia e calor, mas a arquitetura básica permaneceu Segunda Geração: Computadores Transistorizados A eletrônica moderna surgiu em 23 de Dezembro de Os transistores se tornaram não só sucesso em toda a industria eletrônica (custo, tamanho e desempenho melhores que os dispositivos a válvula), como também formaram a base de todos os computadores digitais. O fato de que se pode ligar e desligar a corrente elétrica em um dispositivo é a base de toda a lógica digital. A primeira companhia a lançar comercialmente um computador transistorizado foi a NCR. A IBM também teve grande participação transformou a série 700 em

5 Terceira Geração: Computadores com Circuitos Integrados Em Outubro de 1958, Jack Kilby, da Texas Instruments Co., colocou dois circuitos em uma só peça de germânio. O dispositivo resultante era rudimentar e a interconexão tinha que ser realizadas por fios externos, mas é reconhecido como o primeiro circuito integrado, CI, fabricado no mundo. Robert Noyce utilizou tecnologia para integrar vários circuitos em uma só partilha de silício. Em 1964, a IBM lançou a sua mais famosa família, a série Quarta Geração: Computadores que utilizam VLSI (Very Large Scale Integration) Integração em larga escala, caracteriza uma classe de dispositivos eletrônicos capazes de armazenar, em um único invólucro, milhares e milhares de diminutos componentes Computadores Pessoais - Microcomputadores Em 1971, a Intel Corporation, produziu uma CPU em uma só pastilha de circuito integrado, denominado INTEL-4004, que possuía palavra de 4 bits e tinha cerca de transistores na pastilha. Logo em seguida, a Intel lançou o INTEL 8008 com 8 bits de palavra e 16 K de memória. Quadro Comparativo de características de microprocessadores Microprocessador Data de Palavra de Endereçamento Máximo Lançamento Dados Intel K bytes Intel K bytes Intel M bytes Intel M bytes Intel G bytes Intel G bytes Intel Pentium G bytes Motorola MC K bytes MC M bytes MC M bytes MC G bytes MC G bytes MC G bytes Zilog Z K bytes Zilog Z M bytes 5

6 Capítulo 2 Sistemas de Numeração e Aritmética Computacional 2.1 SISTEMAS DE NUMERAÇÃO: Sistemas de numeração são formas de representação de valores. Existem os sistemas nãoposicionais e os posicionais. Nos não-posicionais o símbolo não depende da posição. Por exemplo, os numerais romanos: o símbolo X vale 10 em qualquer posição que estiver no número, seja IX ou LXV. Já nos posicionais, o valor do símbolo muda com a posição. Por exemplo: o símbolo 6 dentro do número 625 significa o valor 600, mas no número 461 significa 60. Diariamente trabalhamos com o sistema posicional decimal, assim chamado por ter dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Como tem dez símbolos, dizemos também que possui base 10. Como sabemos, o computador funciona em binário, ou seja, representações de número somente com os símbolos 0 e 1. Este é um sistema de numeração com base 2 ou binário. Na eletrônica ainda é comum trabalhar-se com o sistema octal, que possui base 8, cujos símbolos são: 0, 1, 2, 3, 4, 5, 6, 7. Para o endereçamento da memória do computador é utilizado o sistema de numeração hexadecimal, de base 16, formado pelos símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. São estes quatro sistemas de numeração que serão o fundamento do estudo da computação, sendo necessários para compreensão da organização de sua arquitetura. Para compreendermos melhor a relação entre eles, devemos estudar a conversão de uma base para outra. 2.2 CONVERSÃO ENTRE BASES: De binário, octal, e hexadecimal para decimal: Segue-se a regra simples: símbolo x base posição Ou seja, eleva-se a base a converter à potência cujo valor é sua posição no número e multiplica-se pelo símbolo. Assim, de binário (base 2) para decimal (base 10), podemos fazer, por exemplo: Ex1: (100101) 2 = 1 x x x x x x 2 0 = = 37 Ex2: (110,10) 2 = 1 x x x x x 2-2 = ,5 + 0 = 6,5 E de octal (base 8) para decimal: Ex1: (473) 8 = 4 x x x 8 0 = = 315 Ex2: (115,2) 8 = 1 x x x x 8-1 = ,25 = 77,25 6

7 Finalmente, de hexadecimal (base 16) para decimal: Ex1: (B108) 16 = B x x x x 16 0 = = Ex2: (F0,1) 16 = F x x x 16-1 = ,0625 = 240, Conversão de decimal para binário, octal e hexadecimal: Para converter números da base 10 para outras bases, segue-se a seguinte regra: Divide-se o número a ser convertido pela base desejada; toma-se o quociente resultante e divide-se novamente pela base até que o quociente seja zero; os restos das divisões formam o número convertido; o primeiro resto representa o último dígito do número; o último quociente representa o primeiro dígito do número; Para conversão de decimal para binário, temos o exemplo: (174) 10 : 174 / 2 = 87 resto 0 87 / 2 = 43 resto 1 43 / 2 = 21 resto 1 21 / 2 = 10 resto 1 10 / 2 = 5 resto 0 5 / 2 = 2 resto 1 2 / 2 = 1 resto 0 último quociente: 1 ==> (174) 10 = ( ) 2 De decimal para octal: (749) 10 : 749 / 8 = 93 resto 5 93 / 8 = 11 resto 5 11 / 8 = 1 resto 3 último quociente: 1 ==> 1355 (749) 10 = (1355) 8 E de decimal para hexadecimal: (155) 10 : 155 / 16 = 9 resto 11 (B) último quociente: 9 ==> 9B (155) 10 = (9B) Conversão de binário para octal Basta converter cada três símbolos binários em um octal, partindo-se da direita. Caso faltem símbolos para completar três, completa-se com zeros. Exemplo: ( ) 2 = (25) 8 7

8 2.2.4 Conversão de octal para binário: O oposto do método anterior: pega-se cada valor e converte-se pela tabela em três símbolos binários. Exemplo: (356) 8 = ( ,) Conversão de binário para hexadecimal: Semelhante a conversão de octal, apenas pegando cada quatro símbolos binários para um hexadecimal, convertidos a partir da tabela. Exemplo: ( ) 2 = (DA4) Conversão de hexadecimal para binário: Oposto do método anterior. Exemplo: (CAFE) 16 = ( ) 2 TABELA DE CONVERSÃO DECIMAL BINÁRIO OCTAL HEXADECIMAL A B C D E F 8

9 2.3 ARITMÉTICA COMPUTACIONAL: Todo sistema de computação moderno é construído de modo a ser capaz de armazenar, interpretar e manipular informações codificadas na forma binária. Além disso, muitos deles possuem a capacidade de representar valores e efetuar operações aritméticas utilizando recursos de outras bases da potência de 2 (mais especialmente as bases octal - base 8 e hexadecimal - base 16). Esse é o caso, por exemplo, de representação e aritmética de números em ponto flutuante; alguns sistemas de computação IBM empregam a base 16 quando efetuam aritmética em ponto flutuante Procedimento de Adição: Tendo em vista que toda representação de valores nos computadores digitais é realizada no sistema binário, é obvio, então, que as operações aritméticas efetuadas pela máquina sejam também realizadas na mesma base de representação, a base 2. As operações de adição nas bases 2, 8 e 16 são realizadas de modo idêntico ao que estamos acostumados a usar para a base 10, exceto no que refere à quantidade de algarismos disponíveis (que, em cada base, é diferente). Esse fato acarreta diferença nos valores encontrados, mas não no modo como as operações são realizadas. Adição de Números Binários A operação de soma de dois números em base 2 é efetuada de modo semelhante à soma decimal, levando-se em conta, apenas, que só há dois algarismos disponíveis (0 e 1). Assim: = = = = 0, com "vai 1" Ex1: vai , , ,00 Ex2: vai , , ,1011 Do mesmo modo que operamos na base decimal, a soma é efetuada algarismo por algarismo, de maneia que, quando somamos 1 com 1, obtemos como algarismo resultante 0 e sobra o valor 1 para ser somado aos algarismos da parcela imediatamente seguinte à esquerda (valor de uma base - 2); esse é o valor que denominamos "vai 1". Se os dois algarismos serem somados são de valor igual a 1, e ainda temos o "vai 1" para o algarismo da esquerda. Resumindo: = 1 com "vai 1"; = 0 com "vai 1". Adição de Números Octais e Hexadecimais Os procedimentos para adição nas bases 8(octal) e 16(hexadecimal) também não diferem da base 10, exceto quanto à quantidade de algarismos diferentes em cada base, conforme já mencionamos anteriormente. 9

10 No caso da base octal, temos 7 algarismos disponíveis e, portanto, a soma de 2 algarismos produzindo um valor superior a 7 implica a utilização do conceito de "vai 1" consiste em um valor igual a 8 na ordem inferior). Para a base 16, o "vai 1" somente ocorre quando a soma de 2 algarismos excede o valor da base, 16. Ex: Soma com aritmética em base 8: Ex1: Ex2: , , ,70 Ex3: , , ,253 A execução detalhada do algoritmo de soma para o Ex1 é apresentada a seguir, de modo que se possa compreender melhor o processo: = 7, valor colocado na coluna, em resultado; = 8 (não há algarismo na base 8 - o maior algarismo é 7). Assim, temos: 8 = 8 + 0; o 0 é colocado na coluna como resultado e o 8 é passado para a esquerda com valor 1 (é o "vai 1"), pois 8 unidades de uma ordem representam apenas 1 unidade de ordem superior - mais à esquerda); ("vai 1") = 10 (10=8 + 2); logo, é 2 na coluna de resultado e "vai 1" à esquerda, representando o valor 8) ("vai 1") = 5, colocado na coluna resultado. O processo é semelhante para os exemplos (2) e (3). Ex: Soma com aritmética em base 16: Ex1: A54,3B + 1BE8,7A 563C,B5 Ex2: A943B +23B7D5 5E4C10 Ex3: AC79 +B7EEC E2 B65 A execução detalhada do algoritmo de soma para o Ex1 é apresentada a seguir, de modo que se possa compreender melhor o processo: 10(A) + 11(B) = 21, que excede 5 da base 16. Logo, coloca-se 5 na linha "soma" e "vai 1" para a esquerda; = 11 (algarismo B); = 12 (algarismo C); 14(E) + 5 = 19, que excede de 3 a base 16. Logo, coloca-se na linha "soma" e "vai 1" para a esquerda; 10(A) + 11(B) + 1 = 22, que excede 6 da base 16 e "vai 1"; = 5. 10

11 2.3.2 Procedimento de Subtração: Os procedimentos para execução da operação de subtração em bases 2, 8, 16, ou qualquer outra não decimal seguem as mesmas regras adotadas para a base 10, variando, conforme já mencionado diversas vezes, quanto à quantidade de algarismos existentes em cada base. Essas regras são: minuendo - subtraendo = diferença; operações realizada algarismo por algarismo; se o algarismo do minuendo for menor que o algarismo do subtraendo, adiciona-se ao minuendo um valor igual ao da base (2 ou 8 ou 16). Esse valor corresponde a uma unidade subtraída (empréstimo) do algarismo à esquerda do minuendo; resultado é colocado na coluna, na parcela diferença. Subtração de Números Binários A subtração em base 2, na forma convencional usada também no sistema decimal (minuendo - subtraendo = diferença), é relativamente mais complicada por dispormos apenas dos algarismos 0 e 1. Assim, 0 menos 1 necessita de um "empréstimo" de um valor igual à base (no caso é 2), obtido do primeiro algarismo diferente de zero, existente à esquerda. Se estivéssemos operando na base decimal, o "empréstimo" seria de valor igual a 10. Ex1: Ex2: A execução detalhada do algoritmo de soma para o Ex2 é apresentada a seguir, de modo que se possa compreender melhor o processo: 1 1 = = não é possível. Retira-se 1 da 5 a ordem, a partir da direita, ficando 2 unidades na 4 a ordem. Dessas 2 unidades, retira-se 1 para a 3 a ordem (nesta 3 a ordem ficam, então, 2), restando 1 nesta 4 a ordem. Logo 2-1 = = = = = não é possível. Retira-se 1 da ordem à esquerda, que fica com zero e passa-se 2 para a direita. Logo 2 1 = = 0 Subtração de números Octais e Hexadecimais Os procedimentos para realização da operação de subtração com valores representados em base 8 (octal) ou 16 (hexadecimal) são os mesmos das bases 2 ou 10, porém com a já conhecida diferença em termos de algarismos disponíveis. 11

12 Ex: Subtração com valores em base 8: Ex1: , , ,15 Ex2: Ex: Subtração com valores em base 16: Ex1: 16 3B16 D16 4C7BE8-1E9 27A 2DE96E Ex2: A 16C16 49AB,8D5 - FC8,AB8 39E2,E1D Adição Utilizando Números Com Sinal: O Meio normal para representar números com sinal (+ ou -) é adicionando-se um BIT ao número, chamado BIT de sinal (BIT mais representativo). Convenção: 0: BIT DE SINAL que representa um número positivo; 1: BIT DE SINAL que representa um número negativo. Ex: = (+7) = (-7) 10 Bit de sinal Aritmética Complementar: * Complemento Aritmético: É definido como sendo o que falta a um número para atingir o seu módulo. Módulo de um número de um dígito é a quantidade de números diferentes que podemos distinguir. Ex: Sistema Decimal Módulo No sistema binário, composto por dois símbolos, isto é, os BITS 0 e 1, um é complemento do outro. 12

13 * Subtração no sistema complemento-de-2: Obtenção do complemento-de-2 de um número binário: - Troca-se cada 0 por 1 e vice-versa (complemento-de-1); - Soma-se 1 ao resultado. Ex.: (complemento-de-1) (complemento-de-2) OBS: A principal vantagem do uso de complemento é executar a SUBTRAÇÃO pelo processo da ADIÇÃO. Dois números positivos (+7) (+3) (+10) Número positivo e número negativo (+7) (-3) Complemento-de (+4) Dois números negativos (-7) (-3) Complemento-de Descomplementar (1 1010) (-10) * Fazer complemento-de-2 no número negativo; * Somar os números; * Descomplementar o resultado da soma. Veja mais detalhes sobre este assunto no Capítulo 3. 13

14 Capítulo 3 Representação de Dados Em um computador são armazenados e processados apenas dados e instruções. Um programa de computador é formado por uma seqüência de instruções que operam sobre um conjunto de dados (os dados são os operandos das instruções). Um computador executa operações sobre dados numéricos (os números) ou alfabéticos (letras e símbolos). Por outro lado, um computador somente opera sobre valores representados em notação binária, isto é, somente "entende" bits - uns e zeros. Assim, os dados precisam ser representados no computador (na memória e no processador) sempre através de bits, de uma forma que o computador possa interpretar corretamente o seu significado e executar as operações adequadas. Em outras palavras, isso significa que é 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). TIPOS DE DADOS Um programa (a seqüência de instruções) deverá manipular diferentes tipos de dados. Os dados podem ser: --numéricos ---- ponto fixo (números inteiros) ---- ponto flutuante (números reais ou fracionários) ---- BCD (representação decimal codificada em binário) -----alfabéticos letras, números e símbolos (codificados em ASCII e EBCDIC) O tipo de dado que está sendo fornecido ao programa deverá ser informado pelo programador, através de declarações, fazendo com que o programa interprete o dado fornecido de acordo com a declaração. Por exemplo, na linguagem C, declarações tipo int num; (inteiro) ou float sal (real); indicam que a variável num é um número inteiro (int) e a variável sal é um número real (float), representação científica, isto é, representado na forma [(Sinal) Valor x Base (elevada a Expoente)]. Declarações tipo char letra; indicam que a variável é um caractere. 14

15 DADOS NUMÉRICOS A forma mais intuitiva de representar números seria através da conversão do número decimal para seu correspondente em binário. Como os computadores operam sempre em binário, essa seria a forma mais imediata e eficiente. Os números podem ser positivos ou negativos. Um aspecto primordial a ser definido seria então como representar o sinal. Nesta representação foi definida a utilização de mais um bit na representação (o bit mais representativo), representando o sinal, com a seguinte convenção: bit 0 ==> sinal positivo bit 1 ==> sinal negativo. A seguir, apresentamos exemplos de números e sua representação em binário: Valor decimal Valor binário com 8 bits (7 + bit de sinal) (bit inicial 0 significa positivo) (bit inicial 1 significa negativo) (bit inicial 0 significa positivo) (bit inicial 1 significa negativo) Assim, uma representação em binário com n bits teria disponíveis para a representação do número n-1 bits (o bit mais significativo representa o sinal). Essa representação tem o nome de representação em sinal e magnitude. REPRESENTAÇÃO DE NÚMEROS INTEIROS (PONTO FIXO) Dados numéricos ponto fixo são números inteiros, isto é, sem parte fracionária. Os dados NUMÉRICOS INTEIROS POSITIVOS são sempre representados com o sinal (convencionado que bit mais significativo 0 = sinal positivo) e em seguida o valor do dado em binário. Porém, devido à complexidade dos algoritmos para os computadores operarem com NÚMEROS NEGATIVOS quando se usa a representação em sinal e magnitude (acima sumariamente apresentada), são comumente adotadas outras formas que facilitam e tornam mais eficiente a manipulação de operações aritméticas em computadores: as representações em complemento. Vamos analisar cada uma dessas representações. REPRESENTAÇÃO EM SINAL E MAGNITUDE A magnitude (isto é, o valor absoluto, que independe de sinal) de um número é representada em binário. O sinal é representado por um bit (o bit mais significativo, isto é, o bit mais à esquerda na representação). Por convenção, o bit de sinal 0 (zero) significa que o número é positivo e o bit 1 representa número negativo. 15

16 O valor dos bits usados para representar a magnitude independe do sinal, isto é, sendo o número positivo ou negativo, a representação binária da magnitude será a mesma, o que varia é apenas o bit de sinal. Ex.: 0011 = = -3 (011 equivale ao valor absoluto 3) FAIXA DE REPRESENTAÇÃO A representação na base b em sinal e magnitude com n bits (incluindo o bit de sinal) possui b n representações e permite representar b n -1 valores, de vez que há duas representações para o zero. A faixa de representação de uma representação na base 2 em sinal e magnitude com n bits (incluindo o bit de sinal) possui 2 n representações, representando os valores entre - ( 2 n-1-1) e + ( 2 n-1-1). O maior valor inteiro positivo será então + ( 2 n-1-1) e o menor valor inteiro negativo será - ( 2 n-1-1). Obs1.: o número de bits para a representação é determinado no projeto do computador. Obs2.: em sinal e magnitude, existem duas representações para o zero. ARITMÉTICA EM SINAL E MAGNITUDE Algoritmo da soma a) verificar o sinal das parcelas b) se os sinais forem iguais: -- repetir o sinal -- somar as magnitudes c) se os sinais forem diferentes -- verificar qual parcela tem maior magnitude -- repetir o sinal da maior magnitude -- subtrair a menor magnitude da maior magnitude Algoritmo da subtração O algoritmo da subtração é o mesmo da soma, sendo feita como se fosse uma soma de dois números que tem os sinais diferentes. A representação em sinal e magnitude apresenta uma grande desvantagem: ela exige um grande número de testes para se realizar uma simples soma de dois números inteiros. O algoritmo acima descrito é complicado de ser realizado no computador, o que resulta em baixa eficiência (execução lenta). Um outro ponto negativo é termos duas representações para o zero. 16

17 REPRESENTAÇÃO DE NÚMEROS EM COMPLEMENTO Complemento é a diferença entre cada algarismo do número e o maior algarismo possível na base. Uma vantagem da utilização da representação em complemento é que a subtração entre dois números pode ser substituída pela sua soma em complemento. REPRESENTAÇÃO DE NÚMEROS POSITIVOS EM COMPLEMENTO A representação de números positivos em complemento não tem qualquer alteração, isto é, é idêntica à representação em sinal e magnitude. REPRESENTAÇÃO DE NÚMEROS NEGATIVOS EM COMPLEMENTO A (BASE - 1) A representação dos números inteiros negativos é obtida efetuando-se: (base - 1) menos cada algarismo do número. Fica mais fácil entender através de exemplos: Ex.1: Calcular o complemento a (base - 1) do número Se a base é 10, então 10-1 = 9 e o complemento a (base -1) será igual a complemento a 9 Ex.2: Calcular o complemento a (base - 1) do número 3A7EH. Se a base é 16, então 10H-1 = F e o complemento a (base -1) será igual a complemento a F. Portanto: Ex.1 Ex.2 (base -1) --->999 FFFF A7E Complemento --->702 C581 Caso Particular: Números na Base 2 (Complemento a 1) Para se obter o complemento a 1 de um número binário, devemos subtrair cada algarismo de 1. Uma particularidade dos números binários é que, para efetuar esta operação, basta inverter todos os bits. Como exemplo, vamos calcular o complemento a 1 (C1) de um número binário 0011 com 4 dígitos (C1) Portanto, bastaria inverter todos os bits! 17

18 Vamos analisar como ficaria a representação em C1 dos números binários de 4 dígitos: Decimal (positivo) Binário (se o número é positivo, não há alteração) Decimal (negativo) Binário (em C1) FAIXA DE REPRESENTAÇÃO A representação na base b em complemento a (base-1) com n bits possui b n representações e permite representar b n -1 valores. Há duas representações para o zero. A faixa de representação de uma representação na base 2 em complemento a (base-1) com n bits é a mesma que em sinal e magnitude e pode ser calculada como 2 n valores, entre - ( 2 n-1-1) e + ( 2 n-1-1) O maior valor inteiro positivo será então + ( 2 n-1-1) e o menor valor inteiro negativo será - ( 2 n-1-1). Obs1.: o número de bits para a representação é determinado no projeto do computador. Obs2.: em C1 também existem duas representações para o zero. Vamos verificar qual a faixa de representação nos seguintes exemplos: Base 10 com 3 dígitos: a representação varia de 000 a 999 (10 3 representações), representando os números de -499 a -1 (faixa negativa), de +1 a +499 (faixa positiva). Base 10 Faixa Inferior (positiva) Faixa Superior (negativa) C Número representado O zero pode ser representado tanto por 000 quanto por

19 Base 16 com 4 dígitos: a representação varia de 0000 a FFFF, representando os números de -7FFF a (faixa negativa) e de a +7FFF (faixa positiva). Base 16 Faixa Inferior (positiva) Faixa Superior (negativa) C FFF FFFE Número representado FFF -7FFF -7FFE O zero pode ser representado tanto por 0000 quanto por FFFF. Obs: Podemos concluir que, tal como na representação em sinal e magnitude, sempre que em uma representação em complemento o primeiro dígito binário for 1, o número representado é negativo! Mas é importante notar que o bit mais significativo, na representação em complemento, ao contrário do que ocorre na representação em sinal e magnitude, NÃO REPRESENTA O SINAL DE NEGATIVO! ARITMÉTICA EM COMPLEMENTO A (BASE - 1) Na aritmética em complemento a (base-1), basta somar os números, sendo que um número negativo estará representado por seu complemento. Ex.: Somar com (decimal). Sinal e Complemento a (basemagnitude 1) Verificação (C9) Verificamos que o resultado 704 (C9) é um número negativo, isto é, o complemento a 9 (base 10-1) de 295. Repare que a subtração (ou soma de um número positivo com um número negativo) se transforma, nesta representação, em uma soma em complemento, isto é, a soma dos complementos do número positivo com o número negativo! Portanto, numa subtração (realizada através de soma em complemento), se o número é positivo, mantenha-o; se o número é negativo, complemente-o; e aí, é só somar! Dessa forma, podemos constatar que o algoritmo da soma em complemento é muito mais simples que o da soma em sinal e magnitude, de vez que não requer nenhum teste. No entanto, continuamos com duas representações para o zero. Vamos a seguir discutir a solução para esse problema. REPRESENTAÇÃO DE NÚMEROS NEGATIVOS EM COMPLEMENTO A BASE A representação dos números inteiros negativos em complemento a base é obtida subtraindo-se da base cada algarismo do número. Ora, seria a mesma coisa subtrair cada algarismo de (base-1), isto é, calcular o complemento a (base -1) e depois somar 1 ao resultado, ou seja: b - N = [(b-1) - N] + 1. Ou seja, encontramos o complemento a (base-1) do número (o que facilita muito no caso dos números binários) e depois somamos 1 ao resultado. Fica mais fácil entender através de exemplos: 19

20 Ex.1: Calcular o complemento a base do número Se a base é 10, o complemento a base será igual a complemento a 10. Ex.2: Calcular o complemento a base do número 3A7Eh. Se a base é 16 (lembremos mais uma vez que o H ou h depois do número simboliza "hexadecimal"), o complemento a base será igual a complemento a ou 10h. Portanto, calculando o complemento a base dos números acima, temos: Ex. 1 Ex.1 (alternativa) Ex FFFF A7E C C582 Caso Particular: Números na Base 2 (Complemento a 2) Para se obter o complemento a 2 de um número binário, a regra geral nos diz para subtrair cada algarismo de 2. Ora, seria a mesma coisa subtrair cada algarismo de 1 (complemento a 1) e depois somar 1 ao resultado, ou seja: (2-N) = (1-N) + 1. Assim, tirando partido da particularidade dos números binários anteriormente apresentada (para obter o C1 de um número binário, basta inverter todos os bits), para obter o C2 de um número obtemos primeiro o C1 (invertendo os bits) e depois somamos 1 ao resultado. Como exemplo, vamos calcular o complemento a 2 (C2) de um número binário 0011 com 4 dígitos (C1) (C2) Vamos analisar como ficaria a representação em C2 dos números binários de 4 dígitos: Decimal (positivo) Binário (se o número é Decimal positivo, não há alteração) (negativo) Binário (C2) Vemos assim que em C2, não há duas representações para o valor 0 e conseqüentemente abriu-se lugar para mais uma representação - no caso, mais um número negativo pode ser representado. 20

21 FAIXA DE REPRESENTAÇÃO A representação na base b em complemento a base com n bits possui b n representações e permite representar b n valores. A faixa de representação de uma representação na base 2 em complemento a base com n bits pode ser calculada como 2 n valores (entre - 2 n-1 e + 2 n-1-1), sendo 2 a base. O maior valor inteiro positivo será então + ( 2 n-1-1) e o menor valor inteiro negativo será - ( 2 n-1 ). Obs1.: o número de bits para a representação é determinado no projeto do computador. Obs2.: nesta representação somente existe uma representação para o zero e há mais um número negativo representado! Nos exemplos acima, vamos verificar qual a faixa de representação: Base 10 com 3 dígitos: de 0 a 999 (10 3 valores), representando de -500 a -1 (faixa negativa) e de 1 a +499 (faixa positiva). O zero tem apenas uma representação: 000. Base 10 Faixa Inferior (positiva) Faixa Superior (negativa) C Número representado Base 16 com 4 dígitos: de 0 a FFFF, representando a -1 (faixa negativa) e de 0 a +7FFF (faixa positiva). O zero tem apenas uma representação: Base 16 Faixa Inferior (positiva) Faixa Superior (negativa) C FFF 8000 F FFFF Número representado FFF FFF Obs: Podemos concluir que, tal como na representação em sinal e magnitude e em complemento a (base-1), sempre que em uma representação em complemento a base o primeiro dígito binário for 1, o número representado é negativo! Mas é importante notar que o bit mais significativo, na representação em complemento, ao contrário do que ocorre na representação em sinal e magnitude, NÃO REPRESENTA O SINAL DE NEGATIVO! 21

22 ARITMÉTICA EM COMPLEMENTO A BASE Na aritmética em complemento a base, basta somar os números, sendo que um número negativo estará representado por seu complemento a base. Ex.: Somar +123 com -418 (decimal). Sinal e magnitude Cálculo C2 C2 Verificação (C1) 705 (C2) (C2) 705 Verificamos que o resultado 705 (C2) é um número negativo, isto é, o complemento a 10 (base 10) de 295. Repare que a subtração (ou soma de um número positivo com um número negativo) se transforma em uma soma em complemento, isto é, a soma dos complementos do número positivo com o número negativo! Portanto, se o número é postivo, mantenha-o; se o número é negativo, complemente-o; e aí, é só somar! Dessa forma, podemos constatar que o algoritmo da soma em complemento é muito mais simples que o da soma em sinal e magnitude, de vez que não requer nenhum teste. 22

23 ARITMÉTICA BINÁRIA E EM COMPLEMENTO Nesta seção, vamos rever os conceitos já apresentados sobre aritmética binária e em complemento e resolver alguns exercícios para exemplo. Inicialmente, vamos considerar apenas números positivos (o sinal não será representado). Exemplo de Operações de Adição BASE 2 BASE 8 BASE 8 BASE 16 BASE _ A679 6FACB FB +4ED F074 BE85E Exemplo de Operações de Subtração BASE 2 BASE 8 BASE 8 BASE 16 BASE A679 6FACB FB -4ED C7E 20D38 Exercício: Suponha um sistema posicional de numeração na base 6. Determine os valores de R, S, T, V, X e Z. RVTZR + SRSVZ TFXVZS Inicialmente, devemos considerar que cada uma das letras representa um algarismo, sem qualquer valor pré-determinado. a) T = 1, porque: T só pode ser 1; a soma de dois algarismos, em qualquer base b, será no máximo igual a (2b) -1 e portanto o "vai-um" nunca será "vai dois"!. b) V = 0, porque: como Z + V = Z, concluimos que V = 0 e a soma R + Z = S (não vai-um). c) S = 5, porque T + S = 0 o que significa que T + S = 6 (porque não pode ser 0, logo é 0 + base = 6 e vai um para a próxima casa) e como T = 1, temos portanto S = 5. d) Assim, R + V = X, como V = 0 e veio 1 da casa anterior, temos que X = 1 + R Substituindo, temos que R + S = Z + 6 logo R - Z = 1 R + Z= 5; somando as expressões, temos 2R = 6 ou R = 3 logo Z = 2 e X = 4 23

24 ARITMÉTICA EM COMPLEMENTO - SOMA EM COMPLEMENTO A UM O algoritmo da soma em complemento a um é: a) Somar os dois números, bit a bit, inclusive o bit de sinal. b) Avaliação dos casos de "vai-um": b.1) Se não ocorreu vai-um para o bit de sinal nem para fora do número: --- este é o resultado correto; b.2) Se ocorrer "vai-um" só para o bit de sinal (e não para fora do número): --- incorreto - ocorreu overflow (isto significa que o resultado excede a faixa de representação para o número de bits adotado). b.3.1) Se ocorrer "vai-um" para fora do número: --- para obter o resultado final, soma-se o "vai-um" externo (para fora do número) ao resultado da soma; o bit para fora do número (que excede o número de bits adotado na representação) é desprezado. b.3.2) Nesta soma final também pode ocorrer "vai-um" no último bit; --- se o número de "vai-um" ocorridos (para o bit de sinal, para fora do número ou na soma final) for par (o que equivale a inverter duas vezes o sinal), o resultado está correto; --- se o número for ímpar (1 ou 3 "vai-um"): o resultado está incorreto - ocorreu overflow. Exemplos (referidos aos casos acima), considerando representação com 6 bits: caso b.1: = caso b.2: = caso b.3: = caso b.3: = _ (+) (+) (-) (-) (+) (+) (-) (-) (+) (-) (-) (+) CORRETO OVERFLOW CORRETO OVERFLOW (ocorreu "vai-um" p/ bit de sinal e p/ fora (não ocorreu "vaium") para o bit de sinal) (só ocorreu "vai-um" do nº mas não na soma final - nº de "vai-um" é par) obs.: soma de dois nº positivos não poderia dar negativo (ocorreu "vai-um" só p/ fora do nº mas não na soma final - nº de "vaium" é ímpar) obs.: soma de dois nº negativos não poderia dar positivo A faixa de representação com 6 bits em C1 vai de -31 a +31. Conferindo as contas pela representação decimal, vemos que os resultados fora desta faixa excedem a faixa da representação e não podem ser representados com 6 bits (portanto, com este número de bits, ocorre overflow). Existe um teste prático que, quando ambos os números tem o mesmo sinal, pode mostrar se ocorreu overflow e o resultado obtido está incorreto: basta ver que na soma de dois números negativos, o resultado só pode ser negativo, e a soma de dois números positivos só poderia dar resultado positivo! 24

25 ARITMÉTICA EM COMPLEMENTO - SOMA EM COMPLEMENTO A DOIS O algoritmo da soma (ou subtração) em complemento a dois é: a) Somar os dois números, bit a bit, inclusive o bit de sinal. b) Despreza-se o bit para fora do número, se houver. c.1) Se não ocorreu vai-um para o bit de sinal nem para fora do número ou c.2) Se ocorrer "vai-um" tanto para o bit de sinal quanto para fora do número (equivale a inverter duas vezes o sinal): --- o resultado está correto; d.1) Se ocorrer "vai-um" só para o bit de sinal (e não para fora do número): d.2) Se não ocorrer "vai-um" para o bit de sinal e somente ocorrer para fora do número: --- o resultado é incorreto - ocorreu overflow (isto significa que o resultado excede a faixa de representação para o número de bits adotado). Nota: Podemos constatar que o algoritmo de soma em C2 é bem mais simples que o de soma em C1. Exemplos (referidos aos casos acima), considerando representação com 6 bits: caso c.1: = caso d.1: = caso c.2: = caso c.2: = caso d.2: = _ (+) (+) (-) (-) (-) (+) (+) (-) (-) (-) (+) (-) (-) (-) (+) CORRETO OVERFLOW CORRETO CORRETO OVERFLOW (ocorreu "vaium" p/ bit de um" p/ bit de (ocorreu "vai- (só ocorreu "vaium" p/ fora do nº - (só ocorreu "vaium" para o bit de (não ocorreu "vai-um") sinal e p/ fora do sinal e p/ fora do o nº de "vai-um" é sinal) nº - o nº de "vaium" é par) um" é nº - o nº de "vai- ímpar) par) obs.: soma de nº positivos não poderia dar negativo (despreza-se o "vai-um" para fora do número) (despreza-se o "vai-um" para fora do número) obs.: soma de nº negativos não poderia dar positivo (despreza "vai-um" p/ fora do nº) A faixa de repreentação com 6 bits em C2 vai de -32 a +31. Conferindo as contas pela representação decimal, vemos que os resultados fora desta faixa estão necessariamente incorretos (ocorreu overflow) Pode-se aplicar o mesmo teste prático que, quando ambos os números tem o mesmo sinal, pode mostrar se ocorreu overflow e o resultado obtido está incorreto: basta ver que na soma de dois números negativos, o resultado só pode ser negativo, e a soma de dois números positivos só poderia dar resultado positivo! 25

26 ARITMÉTICA EM SINAL E MAGNITUDE Em sinal e magnitude, o algoritmo da soma é: a) Se os números forem de mesmo sinal, basta somar os dois números e manter o sinal; b) Se os números forem de sinais diferentes, subtrai-se o menor número do maior; o sinal será o do maior número. c) Tem-se overflow sempre que ocorrer "vai-um" da magnitude para o bit de sinal (o número de bits da magnitude foi excedido) (positivo) (positivo e 1110 (negativo e (negativo) maior) maior) 1110 (negativo) (positivo) (negativo e 0100 (positivo e + + (negativo) menor) menor) (negativo) CORRETO CORRETO CORRETO CORRETO OVERFLOW ambos sinais contrários sinais contrários ambos negativos ambos negativos -> -> subtrai -> subtrai -> soma positivos -> soma e mantém maior magnitude é maior magnitude é "vai-um" para bit soma e mantém o sinal positivo -> negativo -> resultado de sinal -> o sinal positivo negativo resultado é positivo é negativo overflow 26

27 REPRESENTAÇÃO DE NÚMEROS REAIS Até agora, passamos por cima de alguns outros problemas. Os dados numéricos podem ser fracionários (tais como 57,683). Como representar essa parte fracionária (após a vírgula que a separa da parte inteira), de forma que permita processamento eficiente e armazenamento com pouco consumo de memória? Vamos analisar esses problemas logo à frente. NÚMEROS REAIS Números reais são aqueles com parte fracionária (por exemplo, 57,683). Estamos acostumados a representar esses números no formato 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. REPRESENTAÇÃO EM PONTO FLUTUANTE Consideremos o número 57,683 usado acima como exemplo. Este número pode ser também expresso como 57,683 x E também poderia ser expresso com x 10-3 ou ainda 0,57683 x Na realidade, qualquer número - inteiro ou fracionário - pode ser expresso neste formato número x base expoente, em que variamos duas coisas: a posição da vírgula (que delimita a parte fracionária) e a potência à qual elevamos a base. Essa representação é denominada representação em ponto flutuante, pois o ponto varia sua posição, modificando, em conseqüência, o valor representado. REPRESENTAÇÃO NORMALIZADA Na representação normalizada, o número é preparado movendo a vírgula para a direita ou para a esquerda de forma que o número seja menor que 1, o mais próximo possível de 1, obviamente multiplicado por uma potência da base de forma a manter o valor do número. Em geral, isso significa que o primeiro dígito significativo seguirá imediatamente ao ponto (ou vírgula). Por exemplo: 57, > normalizando ==> 0,57683 x , > normalizando ==> 0,4628 x , > normalizando ==> 0,1011 x 2-4 De forma genérica, podemos representar a forma normalizada: ± número x base ±expoente A parte do número representado dessa forma normalizada (os algarismos significativos), damos o nome de mantissa.e portanto podemos representar: ± 0,M x B ± e onde M é a mantissa, B é a base e e é o expoente. 27

28 REPRESENTAÇÃO DE NÚMEROS REAIS NO COMPUTADOR Uma forma comum de representação de números reais no computador pode ser expressa como segue: Pode-se notar que a base não é expressa. Como a base, para cada computador, será sempre a mesma, não há necessidade de apresentar a base na representação (no exemplo, a base é 2). Dizemos que a base é implícita. Para cada computador, o número total M de bits para a representação, o número de bits para SN (sinal do número), para SE (sinal do expoente), para a mantissa e para o expoente, são pré-definidos em projeto. Assim, podemos concluir que, quanto maior o número de bits para o expoente, maior será a faixa de números que o computador pode representar (maior alcance); e quanto maior o número de bits para a mantissa, maior a precisão da representação. Porém, reduzindo-se a mantissa, perde-se precisão e há maior a necessidade de truncar o número (truncar um número é cortar algarismos significativos que não podem ser representados). Considerando-se a representação acima, na base implícita 2: maior expoente possível E: 2 x 1 maior mantissa possível: 2 y 1 maior número real: +( x 2 E ) sendo E = 2 x 1 menor número real: -( x 2 E ) sendo E = 2 x 1 menor real positivo: +( x 2 -E sendo E = 2 x 1 maior real negativo: -( x 2 -E sendo E = 2 x 1 28

29 FAIXA DE REPRESENTAÇÃO Como vimos anteriormente, a representação em ponto flutuante tem limites de alcance e de precisão. O alcance é limitado pelo número de bits do expoente. A precisão é determinada pelo número de bits da mantissa. Ocorre overflow quando o valor absoluto do dado a ser representado excede a capacidade de representação, porque o número de bits do expoente (neste caso, positivo) é insuficiente para representar o dado. Um outro problema ocorre na região de números próximos de zero, que tem o maior expoente negativo possível. Ocorre underflow quando o valor absoluto do dado a ser representado é tão pequeno que fica menor que o menor valor absoluto representável. Nesse caso, o expoente é negativo mas não representa os números muito próximos de zero e ocorre uma descontinuidade na representação, com os números próximos a zero não sendo representados. Underflow não é o mesmo que imprecisão. Dados na faixa de underflow não podem ser representados, ocorrendo estouro no expoente. No caso de imprecisão, a normalização permite que o dado seja representado, porém com perda de precisão. CARACTERÍSTICA Característica é o expoente, representado na forma de excesso de n, ou seja, CARACTERÍSTICA = EXPOENTE + EXCESSO A representação substituindo expoente por característica acarreta que todas as características serão positivas, de forma que é possível eliminar a representação do sinal do expoente. Se CARACTERÍSTICA = EXPOENTE + EXCESSO, sendo M o número de bits para a representação da característica, temos: 0 = - 2 M-1 + EXCESSO logo: EXCESSO = + 2 M-1 29

30 EXEMPLO DE REPRESENTAÇÃO EM PONTO FLUTUANTE a) Representação no IBM /370 A família IBM /370 representa os dados em ponto flutuante com base implícita = 16, no seguinte formato: sendo SN = sinal do dado CARACTERÍSTICA = o expoente, representado na forma de excesso de n, ou seja, CARACTERÍSTICA = EXPOENTE + EXCESSO No caso da IBM, o excesso é de 64 10, portanto: CARACTERÍSTICA = EXPOENTE Exemplificando: expoente = 8 10, logo característica = = Assim, uma característica entre 0 e significa que o expoente é negativo, enquanto uma característica entre 65 e 127 significa que o expoente é positivo (característica igual a significa expoente igual a 0). Exemplo: Representar 25,5 10 Como a base implícita é 16, vamos converter para hexadecimal: 25 / 16 = 1, resto 9 logo: = Parte fracionária: 0.5 x 16 = 8,0 Logo: 25,5 10 = 19,8 16 x 16 0 Normalizando: 19,8 16 x 16 0 = 0, x Em binário com 24 bits, a mantissa normalizada será: 0, = Obs.: Como o número 0, será representado em 24 bits, os bits não representativos (à direita) serão preenchidos com zeros. Como o expoente é 2, a característica será: = Em binário com 7 bits, será: Portanto, a representação será: 30

31 b) Representação no PDP 11 Os microcomputadores PDP 11 representam os dados em ponto flutuante com base implícita = 2, no seguinte formato: sendo SN = sinal do dado CARACTERÍSTICA = o expoente, representado na forma de excesso de n, ou seja, CARACTERÍSTICA = EXPOENTE + EXCESSO No caso do PDP 11, o excesso é de , portanto: CARACTERÍSTICA = EXPOENTE Exemplificando: expoente = - 28 logo característica = = Assim, uma característica entre 0 e significa que o expoente é negativo, enquanto uma característica entre 129 e 255 significa que o expoente é positivo (característica igual a significa expoente igual a 0). Exemplo: Representar 25,5 10 Como a base implícita é 2, vamos converter para binário: = Parte fracionária: 0.5 x 2 = 1,0 Logo: 25,5 10 = 11001,1 2 x 2 0 Normalizando: 11001,1 2 x 2 0 = 0, x 2 5. Obs.: Como a base implícita no PDP 11 é 2, o número normalizado começará SEMPRE por 0,1. Assim, como o primeiro dígito da mantissa será sempre 1, o PDP 11 economiza um bit na mantissa não armazenando o primeiro bit da mantissa, já que está implícito que todos os números terão mantissa iniciando com 1. O bit economizado dessa forma permite que, embora a mantissa no PDP seja representada com 23 bits e no IBM /370 com 24 bits, a precisão na representação é a mesma. Obs.1: Leia-se o SEMPRE da obs. acima como quase sempre. A única exceção corre por conta do zero, que nesse caso tem um tratamento especial. Em binário com 23 bits, a mantissa normalizada será (lembrando que o primeiro bit 1 não é representado): 0, = Obs.: Como o número 0, será representado em 23 bits, os bits não representativos (à direita) serão preenchidos com zeros. Como o expoente é 5, a característica será: = Em binário com 8 bits, será: Portanto, a representação será: 31

Sistemas Numéricos. Tiago Alves de Oliveira

Sistemas Numéricos. Tiago Alves de Oliveira Sistemas Numéricos Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Operações aritméticas binária e hexadecimal Operações lógicas binárias e decimais Representação Interna de

Leia mais

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

Aritmética Computacional. Prof. Leonardo Barreto Campos 1 Aritmética Computacional Prof. Leonardo Barreto Campos Sumário Introdução; Representação de Números Inteiros; Aritmética de Números Inteiros; Representação de Números de Ponto Flutuante; Aritmética de

Leia mais

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS Código BCD; Comparação entre BCD e Binário; Circuitos Digitais para BCD; Código Gray; Código ASCII; Detecção de erros pelo método de Paridade O que é um Código?

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Evolução e Desempenho dos Computadores Slide 1 Conceitos Arquitetura do Computador Refere-se aos atributos que são visíveis para o programador. Ex: conjunto

Leia mais

O Sistema de Computação

O Sistema de Computação Departamento de Ciência da Computação - UFF O Sistema de Computação Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br O Sistema de Computação Capítulo 2 Livro do Mário Monteiro Componentes

Leia mais

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante Microcontroladores e Microprocessadores Conversão de Bases Prof. Samuel Cavalcante Conteúdo Conversão de Qualquer base para Decimal Decimal para Binário Hexadecimal para binário Componentes básicos de

Leia mais

UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh

UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh Representação em Ponto Flutuante Utiliza-se a representação científica normalizada: 2500 = 2,5 x 10 3 0,00009 = 9,0 x 10-5. Mantissa: 1 =< M < 2. Na realidade, trabalha-se na base 2: -1,00110101 x 2-1012

Leia mais

Representações de caracteres

Representações de caracteres Representações de caracteres Sistemas de Numeração A necessidade de contar é algo que acompanha o ser humano desde tempos imemoriais. Sistemas de Numeração Usando o polegar para indicar em cada dedo a

Leia mais

Aula 01. Breve História dos Computadores Informatiquês O Computador Software vs. Hardware. Introdução à Informática. Prof. Fábio Nelson.

Aula 01. Breve História dos Computadores Informatiquês O Computador Software vs. Hardware. Introdução à Informática. Prof. Fábio Nelson. Aula 01 Breve História dos Computadores Informatiquês O Computador Software vs. Hardware Slide 1 de Qual é a origem etimológica da palavra COMPUTADOR? Computador procede do latim computatore. Ao pé da

Leia mais

Capítulo VI Circuitos Aritméticos

Capítulo VI Circuitos Aritméticos Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números

Leia mais

Introdução a Tecnologia da Informação

Introdução a Tecnologia da Informação Introdução a Tecnologia da Informação Sistema de Numeração Prof. Jeime Nunes Sistema de Numeração p Um sistema de numeração é formado por um conjunto de símbolos utilizados para representação de quantidades

Leia mais

Circuitos Aritméticos

Circuitos Aritméticos Circuitos Aritméticos Semi-Somador Quando queremos proceder à realização de uma soma em binário, utilizamos várias somas de dois bits para poderemos chegar ao resultado final da operação. Podemos, então,

Leia mais

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola Aritmética Binária e Complemento a Base Introdução ao Computador 2010/1 Renan Manola Sumário Soma e multiplicação binária; Subtração e divisão binária; Representação com sinal; Complemento a base. Adição

Leia mais

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

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10. Sistemas de numeração e representação dos números Sistemas de Numeração e Somadores Binários I Base Numérica Um número em uma base qualquer pode ser representado da forma: N = An-1.B n-1 + An-2.B n-2 +...+

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Janeiro - 2004 Prof. Welfane Kemil Tao FAVI ÍNDICE: ARQUITETURA E ORGANIZAÇÃO 1 DE COMPUTADORES 1 CAPÍTULO 1 EVOLUÇÃO HISTÓRICA DOS COMPUTADORES 5 1.1 INTRODUÇÃO:

Leia mais

BC-0504 Natureza da Informação

BC-0504 Natureza da Informação BC-0504 Natureza da Informação Aulas 4 Sistemas de numeração. Operações em binário e algebra booleana. Equipe de professores de Natureza da Informação Santo André Julho de 2010 Parte 0 Realizar 6 problemas

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa. Coordenação do Curso Superior de Tecnologia em. Automação Industrial

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa. Coordenação do Curso Superior de Tecnologia em. Automação Industrial UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Coordenação do Curso Superior de Tecnologia em Automação Industrial Jhonathan Junio de Souza Tipos de códigos Binários Trabalho apresentado

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Aritmética Computacional - Ponto Flutuante - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas lâminas dos profs Ney Calazans e Fernando

Leia mais

Vírgula flutuante Aula 6

Vírgula flutuante Aula 6 Vírgula flutuante Aula 6 17 de Março de 2005 1 Estrutura desta aula Números em vírgula flutuante Formatos dos números em vírgula fixa e em vírgula flutuante A norma IEEE 754 Normalizações, expoentes, zeros

Leia mais

Informática Aplicada

Informática Aplicada Informática Aplicada Aula 1 Introdução Diogo Pinheiro Fernandes Pedrosa Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi-Árido Introdução Informática informação aplicada; Pressupõe

Leia mais

Circuitos Lógicos Capítulo 2 Sistema de Numeração e Códigos

Circuitos Lógicos Capítulo 2 Sistema de Numeração e Códigos UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 2 Sistema de Numeração e Códigos Prof. Davidson Lafitte Firmo http://www.ppgel.net.br/davidson davidson@ufsj.edu.br São João Del Rei,

Leia mais

Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal

Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal 61 Capítulo 6 Aritmética Computacional As palavras de um computador são compostas por bits e podem representar números armazenados na memória. Estes números podem ter diferentes significados, como inteiros

Leia mais

Figura 8: modelo de Von Neumann

Figura 8: modelo de Von Neumann 3. ORGANIZAÇÃO DE SISTEMA DE COMPUTADORES Olá, caro aluno! Neste capítulo vamos ver como são organizados os componentes que formam um sistema computacional. O conceito é histórico, mas é aplicado até os

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

a) 2 b) 3 c) 4 d) 5 e) 6

a) 2 b) 3 c) 4 d) 5 e) 6 Recordando operações básicas 01. Calcule as expressões abaixo: a) 2254 + 1258 = b) 300+590 = c) 210+460= d) 104+23 = e) 239 54 = f) 655-340 = g) 216-56= h) 35 x 15 = i) 50 x 210 = j) 366 x 23 = k) 355

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

Usando potências de 10

Usando potências de 10 Usando potências de 10 A UUL AL A Nesta aula, vamos ver que todo número positivo pode ser escrito como uma potência de base 10. Por exemplo, vamos aprender que o número 15 pode ser escrito como 10 1,176.

Leia mais

A história dos computadores começou no momento em que o homem sentiu a necessidade de efetuar cálculos complexos de maneira automática.

A história dos computadores começou no momento em que o homem sentiu a necessidade de efetuar cálculos complexos de maneira automática. Evolução Histórica A história dos computadores começou no momento em que o homem sentiu a necessidade de efetuar cálculos complexos de maneira automática. Digitos O primeiro elemento utilizado pelo homem

Leia mais

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014 Objetivos 7. Funções de Lógica Combinacional Fazer distinção entre meio-somadores e somadores-completos Usar somadores-completos para implementar somadores binários em paralelo Explicar as diferenças entre

Leia mais

Arquitetura e Organização de Computadores. Profa. Débora Matos

Arquitetura e Organização de Computadores. Profa. Débora Matos Arquitetura e Organização de Computadores aula 1 Profa. Débora Matos Apresentação da disciplina CARGA HORÁRIA: 72H/A ANO/SEMESTRE: 2011/2 TURNO: NOITE PROFESSORA RESPONSÁVEL: DÉBORA MATOS COMPETÊNCIAS

Leia mais

Circuitos Lógicos Aula 3

Circuitos Lógicos Aula 3 Circuitos Lógicos Aula 3 Aula passada Apresentação Logística Sistemas digitais Aula de hoje Sistemas analógicos e digitais Representação binária Sinais digitais Circuito Representação Numérica Como medir

Leia mais

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer.

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer. MATEMÁTICA BÁSICA 5 EXPRESSÕES ALGÉBRICAS - EQUAÇÕES A expressão numérica é aquela que apresenta uma sequência de operações e de números. Também já sabemos que as letras são usadas em Matemática para representar

Leia mais

Unidade 1: O Computador

Unidade 1: O Computador Unidade : O Computador.3 Arquitetura básica de um computador O computador é uma máquina que processa informações. É formado por um conjunto de componentes físicos (dispositivos mecânicos, magnéticos, elétricos

Leia mais

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

Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com MATÉRIA: APRESENTAÇÃO / CONCEITOS Aula N : 01 Tema: Apresentação da

Leia mais

Breve histórico da Evolução dos Computadores (leitura informativa )

Breve histórico da Evolução dos Computadores (leitura informativa ) Breve histórico da Evolução dos Computadores (leitura informativa ) Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Computadores: Um pouco de

Leia mais

=...= 1,0 = 1,00 = 1,000...

=...= 1,0 = 1,00 = 1,000... OPERAÇÕES COM NÚMEROS DECIMAIS EXATOS Os números decimais exatos correspondem a frações decimais. Por exemplo, o número 1,27 corresponde à fração127/100. 127 = 1,27 100 onde 1 representa a parte inteira

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Introdução à Computação A Informação

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Um pouco da História dos Logaritmos

Um pouco da História dos Logaritmos Um pouco da História dos Logaritmos Os logaritmos, como instrumento de cálculo, surgiram para realizar simplificações, uma vez que transformam multiplicações e divisões nas operações mais simples de soma

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

Números escritos em notação científica

Números escritos em notação científica Notação Científica Números escritos em notação científica Escrever um número em notação científica tem muitas vantagens: Para números muito grandes ou muito pequenos poderem ser escritos de forma abreviada.

Leia mais

Fundamentos de Arquitetura e Organização de Computadores

Fundamentos de Arquitetura e Organização de Computadores Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se

Leia mais

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão Arquitetura TCP/IP Apresentado por: Ricardo Quintão Roteiro Conexões Inter-redes Serviço Universal Rede Virtual (inter-rede ou internet) Protocolos para ligação inter-redes (TCP/IP) Divisão em camadas

Leia mais

Histórico e Evolução da Computação

Histórico e Evolução da Computação Lista de Exercícios Introdução à Informática Professor: Sérgio Salazar Histórico e Evolução da Computação O 1º computador foi o ENIAC, utilizado para montar tabelas para o cálculo de projéteis na 2ª Guerra

Leia mais

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc.

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc. Professor José Alves Aula pocii Aula 3,4 Custeio por Absorção Custeio significa apropriação de custos. Métodos de Custeio é a forma como são apropriados os custos aos produtos. Assim, existe Custeio por

Leia mais

Montadores e Compiladores

Montadores e Compiladores Montadores e Compiladores Prof. Idevar Gonçalves de Souza Júnior Conteúdo Programático Resumido Revisão da Arquitetura de Computadores Introdução a Teoria das Linguagens Compilação e Interpretação Análise

Leia mais

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material de Fernanda Passos

Leia mais

Sistemas de Vírgula Flutuante

Sistemas de Vírgula Flutuante Luiz C. G. Lopes Departamento de Matemática e Engenharias Universidade da Madeira MAT 2 05 2007/08 Definição. Diz-se que um número real x R\{0} é um número de vírgula flutuante normalizado se forem verificadas

Leia mais

Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO Introdução Sistemas Numéricos Sistema Decimal Concebido pelos hindus cerca de 2000 anos atrás. Posteriormente

Leia mais

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média. 1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES Representação de Dados Professor: Airton Ribeiro de Sousa E-mail: airton.ribeiro@faciplac.edu.br 1 Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos da

Leia mais

FRAÇÃO. Número de partes pintadas 3 e números de partes em foi dividida a figura 5

FRAÇÃO. Número de partes pintadas 3 e números de partes em foi dividida a figura 5 Termos de uma fração FRAÇÃO Para se representar uma fração através de figuras, devemos dividir a figura em partes iguais, em que o numerador representar a parte considera (pintada) e o denominador representar

Leia mais

MATA49 Programação de Software Básico

MATA49 Programação de Software Básico MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Arquitetura dos processadores Intel PROF. LEANDRO ANDRADE 2 Um pouco de história... Como sabemos

Leia mais

Lista de Exercícios Critérios de Divisibilidade

Lista de Exercícios Critérios de Divisibilidade Nota: Os exercícios desta aula são referentes ao seguinte vídeo Matemática Zero 2.0 - Aula 10 - Critérios de - (parte 1 de 2) Endereço: https://www.youtube.com/watch?v=1f1qlke27me Gabaritos nas últimas

Leia mais

III. Representações das portas lógicas (recordação): Figura 1: Símbolos padronizados e alternativos para várias portas lógicas e para o inversor 2

III. Representações das portas lógicas (recordação): Figura 1: Símbolos padronizados e alternativos para várias portas lógicas e para o inversor 2 CIRCUITOS LÓGICOS COMBINACIONAIS I. Objetivos: Realizar os passos necessários para obter uma expressão do tipo soma-de-produtos com o objetivo de projetar um circuito lógico na sua forma mais simples.

Leia mais

Potenciação e radiciação

Potenciação e radiciação Sequência didática para a sala de aula 6 MATEMÁTICA Unidade 1 Capítulo 6: (páginas 55 a 58 do livro) 1 Objetivos Associar a potenciação às situações que representam multiplicações de fatores iguais. Perceber

Leia mais

Introdução Informática e TIC. Prof. Ivo Júnior

Introdução Informática e TIC. Prof. Ivo Júnior Introdução Informática e TIC Prof. Ivo Júnior O que é informática?? É o ramo do conhecimento que cuida dos conceitos, procedimentos e técnicas referentes ao processamento ou tratamento de conjuntos de

Leia mais

PROJETO PILOTO O uso do Material Dourado como ferramenta para compreender o Sistema de Numeração Decimal-posicional.

PROJETO PILOTO O uso do Material Dourado como ferramenta para compreender o Sistema de Numeração Decimal-posicional. ESCOLA MUNICIPAL JOAQUIM DO RÊGO CAVALCANTI PROJETO PILOTO O uso do Material Dourado como ferramenta para compreender o Sistema de Numeração Decimal-posicional. Ipojuca/2012 O uso do Material Dourado como

Leia mais

O SOROBAN COMO INSTRUMENTO PARA O DESENVOLVIMENTO DAS OPERAÇÕES MATEMÁTICAS

O SOROBAN COMO INSTRUMENTO PARA O DESENVOLVIMENTO DAS OPERAÇÕES MATEMÁTICAS O SOROBAN COMO INSTRUMENTO PARA O DESENVOLVIMENTO DAS OPERAÇÕES MATEMÁTICAS Resumo Alexandre Gonçalves de Lima¹ Amauri Soares da Silva Filho² Este trabalho aborda características do Soroban, e suas funções,

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Representação de Números de Ponto Flutuante Aritmética

Leia mais

Equipe de Matemática MATEMÁTICA

Equipe de Matemática MATEMÁTICA Aluno (a): Série: 3ª Turma: TUTORIAL 5B Ensino Médio Equipe de Matemática Data: MATEMÁTICA Conjunto dos números racionais O conjunto dos números racionais é uma ampliação do conjunto dos números inteiros.

Leia mais

Aula 9: Estouro e Representação em Ponto Flutuante

Aula 9: Estouro e Representação em Ponto Flutuante Aula 9: Estouro e Representação em Ponto Flutuante Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Estouro e Ponto Flutuante FAC 1 / 43 Revisão

Leia mais

Evolução do Computador. Evolução do computador. Evolução do computador. 1ª máquina mecânica de calcular com as 4 operações Charles Thomas, 1820.

Evolução do Computador. Evolução do computador. Evolução do computador. 1ª máquina mecânica de calcular com as 4 operações Charles Thomas, 1820. Evolução do Computador Aula 2 Disciplina de OAC Prof. Luiz Antonio do Nascimento Faculdade Nossa Cidade Àbaco Régua de cálculo Evolução do 1º forma de cálcular Dedos (digital dígitos 0 a 9). 1ª máquina

Leia mais

Metodologias de Programação

Metodologias de Programação Metodologias de Programação Bloco 1 José Paulo 1 Formador José António Paulo E-mail: questoes@netcabo.pt Telemóvel: 96 347 80 25 Objectivos Iniciar o desenvolvimento de raciocínios algorítmicos Linguagem

Leia mais

Determinantes. Matemática Prof. Mauricio José

Determinantes. Matemática Prof. Mauricio José Determinantes Matemática Prof. Mauricio José Determinantes Definição e Conceito Matriz de ordem 1 Dizemos que um determinante é um resultado (numérico) de operações que são realizadas em uma matriz quadrada.

Leia mais

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos. Objetivos 4. Álgebra Booleana e Simplificação Lógica Aplicar as leis e regras básicas da álgebra Booleana Aplicar os teoremas de DeMorgan em expressões Booleanas Descrever circuitos de portas lógicas com

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

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

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin REPRESENTAÇÃO DE DADOS Prof. Maicon A. Sartin mapsartin@gmail.com Representação de Dados Sumário Introdução a Representação de Dados Complemento a 1 Aritmética em C1 Complemento a 2 Aritmética em C2 Aritmética

Leia mais

Congruências Lineares

Congruências Lineares Filipe Rodrigues de S Moreira Graduando em Engenharia Mecânica Instituto Tecnológico de Aeronáutica (ITA) Agosto 006 Congruências Lineares Introdução A idéia de se estudar congruências lineares pode vir

Leia mais

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.) I. INTRODUÇÃO Quando se faz um experimento, deseja-se comparar o resultado obtido

Leia mais

Unidade III. Sistemas Numéricos e o Computador

Unidade III. Sistemas Numéricos e o Computador III.1 - O Sistema Decimal - Base: 10 - Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Unidade III Sistemas Numéricos e o Computador Raimundo G. Nóbrega Filho - UFPB - CCEN - DI Notas de aula da disciplina Introdução

Leia mais

Lição 5 Medidas Descritivas Medidas de Dispersão

Lição 5 Medidas Descritivas Medidas de Dispersão 99 Lição 5 Medidas Descritivas Medidas de Dispersão Após concluir o estudo desta lição, esperamos que você possa: identifi car o objetivo das medidas de dispersão; identifi car o conceito de variância;

Leia mais

Conjuntos mecânicos II

Conjuntos mecânicos II A UU L AL A Conjuntos mecânicos II Nesta aula trataremos de outro assunto também relacionado a conjuntos mecânicos: o desenho de conjunto. Introdução Desenho de conjunto Desenho de conjunto é o desenho

Leia mais

Planejamento Anual OBJETIVO GERAL

Planejamento Anual OBJETIVO GERAL Planejamento Anual Componente Curricular: Matemática Ano: 6º ano Ano Letivo: 2016 Professor(s): Eni e Patrícia OBJETIVO GERAL Desenvolver e aprimorar estruturas cognitivas de interpretação, análise, síntese,

Leia mais

Algoritmo da raiz quadrada

Algoritmo da raiz quadrada Algoritmo da raiz quadrada Existem várias formas de nos aproximarmos do valor da raiz quadrada de um número. Uma delas, a equação de Pell, permite encontrar a parte inteira para de uma raiz quadrada de

Leia mais

Projecto Delfos: Escola de Matemática Para Jovens 1 TEORIA DOS NÚMEROS

Projecto Delfos: Escola de Matemática Para Jovens 1 TEORIA DOS NÚMEROS Projecto Delfos: Escola de Matemática Para Jovens 1 A Teoria dos Números tem como objecto de estudo o conjunto Z dos números inteiros (a letra Z vem da palavra alemã Zahl que significa número). 1. DIVISIBILIDADE

Leia mais

1.2. Grandezas Fundamentais e Sistemas de Unidades

1.2. Grandezas Fundamentais e Sistemas de Unidades CAPÍTULO 1 Grandezas, Unidades e Dimensões 1.1. Medidas Uma grandeza física é uma propriedade de um corpo, ou particularidade de um fenómeno, susceptível de ser medida, i.e. à qual se pode atribuir um

Leia mais

1. Estrutura de Dados

1. Estrutura de Dados 1. Estrutura de Dados Não existe vitória sem sacrifício! Filme Transformers Um computador é uma máquina que manipula informações. O estudo da ciência da computação inclui o exame da organização, manipulação

Leia mais

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014 Sistemas Digitais II Interface com o mundo analógico Prof. Marlon Henrique Teixeira Abril/2014 Objetivos Compreender a teoria de funcionamento e as limitações dos circuitos de diversos tipos de conversores

Leia mais

1. Números. MatemáticaI Gestão ESTG/IPB Departamento de Matemática. Números inteiros. Nota: No Brasil costuma usar-se: bilhão para o número

1. Números. MatemáticaI Gestão ESTG/IPB Departamento de Matemática. Números inteiros. Nota: No Brasil costuma usar-se: bilhão para o número MatemáticaI Gestão ESTG/IPB Departamento de Matemática 1. Números Números inteiros 0 10 1 1 10 10 2 10 100 3 10 1000 6 10 1000000 10 10 12 18 Uma unidade (um) Uma dezena (dez) Uma centena (cem) Um milhar

Leia mais

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas. Definição Uma matriz do tipo m n (lê-se m por n), com m e n, sendo m e n números inteiros, é uma tabela formada por m n elementos dispostos em m linhas e n colunas. Estes elementos podem estar entre parênteses

Leia mais

Experiência 1 Medidas: Leitura de instrumentos:

Experiência 1 Medidas: Leitura de instrumentos: 1 Experiência 1 Medidas: Leitura de instrumentos: Quando realizamos uma medida precisamos estabelecer a confiança que o valor encontrado para a medida representa. Para representar corretamente a medida

Leia mais

Arquitetura de Computadores Moderna

Arquitetura de Computadores Moderna Arquitetura de Computadores Moderna Eduardo Barrére (eduardo.barrere@ice.ufjf.br) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações

Leia mais

Aula 9: Estouro e Representação em Ponto Flutuante

Aula 9: Estouro e Representação em Ponto Flutuante Aula 9: Estouro e Representação em Ponto Flutuante Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda

Leia mais

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos:

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos: Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos: Pesquisar e aprofundar os conhecimentos em Lógica Digital

Leia mais

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar

Leia mais

Somando os termos de uma progressão aritmética

Somando os termos de uma progressão aritmética A UA UL LA Somando os termos de uma progressão aritmética Introdução Um pouco de História Na aula passada, mostramos como calcular qualquer termo de uma progressão aritmética se conhecemos um de seus termos

Leia mais

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF)

Leia mais

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA Curso de Sistemas de Informação Disciplina: Algoritmos 1º e 2º Períodos Turmas 216071A, 216071B e 216062 Notas de Aula Aulas 07, 08 e 09. Professor: Edkallenn Aula 07 Variáveis Talvez o conceito de variável

Leia mais

http://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

http://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis! http://www.ic.uff.br/~boeres/fac.html! 1 Conteúdos: Debora, Edcarllos, livros! slides disponíveis! Unidade central de Processamento realiza operações básicas codificadas em 0s e 1s instrução contém código

Leia mais

FRAÇÃO Definição e Operações

FRAÇÃO Definição e Operações FRAÇÃO Definição e Operações DEFINIÇÃO: Fração é uma forma de se representar uma quantidade a partir de um valor, que é dividido por um determinado número de partes iguais. Como é que você representaria

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Primeira Aula Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte1.pdf Organização de Computadores I Primeira Aula 1/57 Conteúdo Básicas. Básicos... Organização

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Aritmética Computacional - Inteiros - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário A unidade lógico-aritmética Representação de números inteiros

Leia mais

FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE

FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE FLORIANÓPOLIS 2007 FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE Trabalho de conclusão de Curso apresentado ao curso de Matemática Habilitação

Leia mais

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

Introdução à Ciência da Computação 1 Universidade Federal Fluminense Campus de Rio das Ostras Curso de Ciência da Computação Introdução à Ciência da Computação Professor: Leandro Soares de Sousa e-mail: leandro.uff.puro@gmail.com site:

Leia mais

POTENCIAÇÂO. A potenciação é uma forma de representar uma multiplicação de fatores iguais.

POTENCIAÇÂO. A potenciação é uma forma de representar uma multiplicação de fatores iguais. POTENCIAÇÂO A potenciação é uma forma de representar uma multiplicação de fatores iguais. A potência é o resultado. x x x cada termo desta multiplicação é chamado de fator, portanto temos 4 fatores iguais

Leia mais

Introdução a Banco de Dados. INTRODUÇÃO

Introdução a Banco de Dados. INTRODUÇÃO INTRODUÇÃO O termo banco de dados é bastante popular em diversas áreas de atuação. Com o aumento da utilização de computadores na manipulação de dados que envolvem diversas aplicações, os bancos de dados

Leia mais