Buscar

Aritmética Computacional

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Aritmética Computacional
Profa. Dr. Paulo Martins
E-mail: pmartins@ft.unicamp.br
Criado pela profa Dra. Ieda Hidalgo
*
Porque estudar 
Aritmética Computacional?
Porque os computadores têm memória disponível para armazenar números fixada na ocasião em que a máquina é projetada. Portanto, eles devem necessariamente efetuar as operações aritméticas com números de precisão finita. Desta forma, os resultados de certos cálculos serão, do ponto de vista da matemática clássica, "incorretos". 
*
Propriedades dos 
Números de Precisão Finita
Para entender as propriedades dos números de precisão finita, vamos examinar o conjunto dos números inteiros positivos que podem ser representados com três dígitos decimais. 
Esse conjunto tem exatamente 1000 membros: 000, 001, 002, ... , 999.
*
Restrições do Conjunto
 Números maiores que 999
 Números negativos
 Frações
 Números irracionais
 Números complexos
A = { 000, 001, 002, ... , 999 }
*
Propriedade de Fechamento
Uma propriedade importante da Aritmética no conjunto de todos os números inteiros é o Fechamento no que diz respeito às operações de adição, subtração e multiplicação. 
Para cada par de inteiros i e j:
i + j
i – j também são inteiros 
i x j
*
Propriedade de Fechamento para
Números de Precisão Finita
 600 + 600 = 1200 	→ erro de excesso
 003 – 005 = -2 	→ erro de falta
 050 x 050 = 2500 	→ erro de excesso
 007 / 002 = 3,5 	→ não é membro do conjunto
A = { 000, 001, 002, ... , 999 }
*
Lei Associativa
*
Lei Associativa para
Números de Precisão Finita
Para a = 700 b = 400 c = 300
*
Lei Distributiva
*
Lei Distributiva para
Números de Precisão Finita
Para a = 5 b = 210 c = 195 
*
Número Grande...
Físicos podem calcular que há 
1078 elétrons no universo 
Esses exemplos didáticos servem para ilustrar a importância de entender como os computadores funcionam e quais são suas limitações.
*
Aspectos Importantes da 
Aritmética Computacional
O modo como os números são representados (formato binário).
O fato de realizar operações com números cuja precisão é finita e fixa.
Os algoritmos usados para as operações aritméticas básicas (adição, subtração, multiplicação e divisão).
*
Tipos de Números
 Números inteiros (números de ponto fixo)
 Números reais (números de ponto flutuante).
Os números de ponto flutuante são expressos na forma de um número (mantissa) multiplicado por uma constante (base) elevada a uma potência inteira (expoente). Eles podem ser usados para representar números muito grandes e muito pequenos. 
*
Execução das Operações Aritméticas e Lógicas
*
Conversão de Bases
No cotidiano, usamos números representados em um sistema de numeração de base 10, conhecido como sistema decimal. 
Quando se trata de computadores, muitas vezes é conveniente usar outras bases como: 2, 8 e 16 chamadas de sistema binário, sistema octal e sistema hexadecimal, respectivamente. 
*
Sistema Decimal
No sistema decimal são usados dez dígitos distintos para representar os números: 
(0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). 
Exemplos:
Na sua representação cada dígito do número é multiplicado por 10 elevado à potência correspondente à posição do dígito.
*
Sistema Binário
No sistema binário são usados dois dígitos: 
(0 e 1). 
Exemplos:
Na sua conversão para a base 10 cada dígito do número é multiplicado por 2 elevado à potência correspondente à posição do dígito. Valores fracionários são representados com potências negativas da base.
*
Sistema Binário - Observação
Os dígitos 0 e 1 na notação binária têm o mesmo significado que na notação decimal.
*
Sistema Octal
No sistema octal são usados oito dígitos: 
(0, 1, 2, 3, 4, 5, 6 e 7). 
Na sua conversão para a base 10 cada dígito do número é multiplicado por 8 elevado à potência correspondente à posição do dígito. 
Exemplo:
*
Sistema Octal - Observação
A cada combinação de três dígitos binários é atribuído um símbolo.
Exemplo:
*
Sistema Hexadecimal
No sistema hexadecimal são usados dezesseis dígitos: 
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F). 
Na sua conversão para a base 10 cada dígito do número é multiplicado por 16 elevado à potência correspondente à posição do dígito. 
Exemplo:
*
Sistema Hexadecimal - Observação
A cada combinação possível de quatro dígitos binários é atribuído um símbolo.
*
Sistema Hexadecimal - Conversões
*
Notação Hexadecimal - Vantagens
É mais compacta que a notação binária
Na maioria dos computadores, os dados binários têm um tamanho que é múltiplo de 4 bits e, portanto, múltiplo de um dígito hexadecimal.
É fácil fazer a conversão entre as notações binária e hexadecimal.
Usada não apenas para representar números, mas qualquer sequência de dígitos binários que represente texto, número ou algum outro tipo de dado.
*
Conversão da 
Base 10 para a Base 2
Para converter a notação decimal em notação binária a parte inteira e a parte fracionária são tratadas separadamente.
*
Base 10 → Base 2 - Parte Inteira
A conversão da parte inteira é obtida por meio de repetidas divisões por 2 até que o quociente seja igual a 0. Os restos de cada divisão serão os dígitos binários na ordem do menor para o maior dígito significativo.
*
Base 10 → Base 2 - Parte Fracionária
A conversão da parte fracionária envolve repetidas multiplicações por 2 até que a parte fracionária seja 0 ou após um número predefinido de passos. A parte inteira dos produtos contribuirá para formar os dígitos binários na ordem do maior para o menor dígito significativo (colocar 0, + partes inteiras). A parte fracionária de cada produto é usada como multiplicando no passo seguinte.
*
Base 10 → Base 2 - Parte Fracionária
Esse processo não é necessariamente exato. Ou seja, uma fração decimal com um número finito de dígitos pode demandar uma fração binária com número infinito de dígitos. Nesses casos, o algoritmo de conversão é interrompido após um número predefinido de passos, dependendo da precisão desejada.
*
O número 2001 expresso no sistema 
decimal, binário, octal e hexadecimal 
Conversão de Bases
*
Conversão Base X – Base 10
 numd = anxn + an-1xn-1 + ... + a0x0
 Binário – Decimal: 10112
 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20
 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 1110
 Octal– Decimal: 72718
 7 * 83 + 2 * 82 + 7 * 81 + 1 * 80
 7 * 512 + 2 * 64 + 7 * 8 + 1 * 1 = 376910
 Hexadecimal – Decimal: 4A3B16
 4 * 163 + A * 162 + 3 * 161 + B * 160
 4 * 163 + 10 * 162 + 3 * 161 + 11 * 160
 4 * 4096 + 10 * 256 + 3 * 16 + 11 * 1 = 1900310
*
Conversão Base 10 – Base X
*
Conversão Base 10 – Base X
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais