NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática
description
Transcript of NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática
![Page 1: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/1.jpg)
UNIVERSIDADE FEDERAL DE MATO GROSSO – UFMT INSTITUTO DE COMPUTAÇÃO – IC
CURSO DE CIÊNCIA DA COMPUTAÇÃO Disciplina de FILOSOFIA DA CIÊNCIA
Cuiabá – Novembro de 2014
REPRESENTAÇÃO DE NÚMEROS REAIS EM UM COMPUTADOR E SUA IMPORTÂNCIA PARA OS FUNDAMENTOS DA MATEMÁTICA
PAULO VINICIUS; WESLEY FERNANDES.
![Page 2: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/2.jpg)
UNIVERSIDADE FEDERAL DE MATO GROSSO – UFMT INSTITUTO DE COMPUTAÇÃO – IC
CURSO DE CIÊNCIA DA COMPUTAÇÃO Disciplina de FILOSOFIA DA CIÊNCIA
Cuiabá – Novembro de 2014
REPRESENTAÇÃO DE NÚMEROS REAIS EM UM COMPUTADOR E SUA IMPORTÂNCIA PAARA OS FUNDAMENTOS DA MATEMÁTICA
PAULO VINICIUS; WESLEY FERNANDES.
Trabalho relacionado aos conteúdos da disciplina de Filosofia da Ciência orientado pelo professor Julio.
![Page 3: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/3.jpg)
SUMÁRIO
1. INTRODUÇÃO ................................................................................................................................... 4
2. HISTÓRIA .......................................................................................................................................... 5
3. COMO COMPUTADORES REPRESENTAM NÚMEROS REAIS ............................................................ 5
4. A IMPORTÂNCIA PARA OS FUNDAMENTOS DA MATEMÁTICA ....................................................... 8
5. CONCLUSÃO ..................................................................................................................................... 9
6. REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................................ 9
![Page 4: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/4.jpg)
4
1. INTRODUÇÃO
Neste texto iremos apresentar como funcionam os sistemas numéricos em
seu uso na computação, quais as bases de sistemas numéricos utilizamos em
computadores principalmente quando nos referimos aos números reais. Será
ilustrado e descrito como computadores trabalham internamente com os números
reais e sua forma de representar. Tudo isso é estudar os conceitos básicos da
matemática, ou seja , os fundamentos da matemática.
![Page 5: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/5.jpg)
5
2. HISTÓRIA
O ENIAC (Electronic Numerical Integrator And Computer), foi o primeiro
computador eletrônico digital. O sistema de representação numérica que ele usava
era o decimal, era mais difícil de implementar e com isto ele ficou muito grande,
ocupando uma área de 180 m2.
A grande sacada da época foi construir um computador que usava o sistema
de representação numérica binário. Ele foi mais fácil de construir e potencialmente
mais confiável.
3. COMO COMPUTADORES REPRESENTAM NÚMEROS REAIS
Na computação, os sistemas de numeração estão na base da matemática,
onde são responsáveis por estabelecer a relação entre valores e símbolos e sem
eles fica extremamente complicado realizar operações simples de adição ou
subtração.
Para um sistema de numeração é necessário que seja definido a base na qual
ele irá trabalhar, o que pode ser inumeras opções e dentre elas temos a binária, a
decimal e a hexadecimal. É necessário que se defina também um alfabeto que nada
mais é que um conjunto de símbolos.
Nós humanos, utilizamos com maior frequência o sistema numérico decimal
que é na base 10 e para o alfabeto adotamos os algarismos arábicos. Na
computação foi adotado o sistema binário, que tornou-se um sistema de uma
importância crucial para os profissionais da área. Desta forma surge a questão do
por que utilizar o sistema binário e não o que estamos acostumados que é o
decimal. Bom, os computadores passaram a ser dispositivos elétricos, sendo
complicado representar os pulsos da corrente elétrica de 10 formas diferentes. Por
isso é utilizado o sistema binário, pois é muito mais fácil representar a passagem de
corrente ou não.
![Page 6: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/6.jpg)
6
O sistema binário permite um processamento bastante eficiente dos
computadores e além disso, todas as operações básicas feitas no sistema decimal
podem ser facilmente adaptadas ao sistema binário.
Porém nem tudo é essa maravilha na utilização de sistemas binários em
computadores e assim surgiu alguns problemas relacionados aos números dentro do
computador. A computação é utilizada em várias áreas da ciência como física,
química, matemática entre outras. Deste modo torna-se necessário trabalhar com
números extremamente grandes e outros extremamente pequenos como números
fracionários. Além disso, torna-se crucial realizar operações matemática nestes
números.
Em números em que após a vírgula temos muitos zeros até chegar a um
caractere diferente, necessitaríamos de muitos zeros para representar o resultado.
Desta forma passou a utilizar uma notação científica chamada de ponto flutuante.
Ex.: 5,625 na base decimal equivale a 101,101 na base binária.
O computador só armazena 0’s e 1’s, com isto só existem números inteiros,
mas usando a notação de ponto flutuante pode-se armazenar também números
reais.
Internamente o computador representa números reais em três partes: o sinal,
a parte fracionária (mantissa) e o expoente (que tem um sinal).
Ex.: +5625 x 10 ^ -3 que é igual a 5,625
Os computadores são finitos ou seja, a quantidade de bits (0’s e 1’s) que ele
pode armazenar é limitado. Em um computador fictício poderia ser:
O sinal é um bit (0 ou 1), a mantissa uma palavra de 16 bits e o expoente uma
palavra de 4 bits.
A representação interna deste computador para o número 5.625 é:
![Page 7: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/7.jpg)
7
O conjunto de números dos números reais é infinito, entretanto, a sua
representação em um sistema de ponto flutuante é limitada, pois é um sistema finito.
Os problemas se dão na mantissa ou no expoente, pois os dois são limitados.
Como alguns números não podem ser representados exatamente, eles são
então arredondados.
Abaixo, um código escrito na linguagem C e compilado no Ubuntu versão 14
de 64 bits em um computador quad-core, com 4 GB de memória RAM.
#include <stdio.h>
int main(){ int a = 1234567890; float b = 1234567.8901234567890123456789; double c = 1234567890123456.7890123456789; float d =1.2345678901234567890123456789; double e = 1.2345678901234567890123456789; printf("%d\n",a); printf("%f\n",b); printf("%lf\n",c); printf("%f\n",d); printf("%lf\n",e); printf("%lf",c+e); return 0; }
Saída:
Valor de a = 1234567890 // O tipo inteiro em C só aceita 10 dígitos ���
Valor de b = 1234567.875000 // O float aceita 7 dígitos antes do ponto ���
Valor de c = 1234567890123456.750000 // O double aceita 16 dígitos antes do ponto
Valor de d = 1.234568 // O float aceita 6 dígitos depois do ponto ���
Valor de e = 1.234568 // O double aceita 6 dígitos depois do ponto ���
Valor de c + e = 1234567890123458.000000 // O resultado da soma de ‘c + e’
![Page 8: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/8.jpg)
8
Como foi visto na saída, os números completos não são suportados pela
linguagem. Como o computador é limitado, algumas vezes não tem como trabalhar
com os números completos.
Existem algumas linguagens/bibliotecas que trabalham com números com
uma maior precisão. Por exemplo na linguagem Java existe uma classe que trabalha
com números de ponto flutuante com maior precisão, o programador só precisa
definir a quantidade de precisão que ele quer usar. A classe BigDecimal em Java
trabalha com os números no sistema decimal, na forma de String, ou seja ela
trabalha fazendo operações em cima dos caracteres em vez de em cima dos
números. Isto faz com que demore mais para executar as operações, mas ganhando
uma maior precisão em cima dos resultados.
4. A IMPORTÂNCIA PARA OS FUNDAMENTOS DA MATEMÁTICA
Os fundamentos da matemática é o estudo de conceitos básicos da
matemática. Estudando como o computador representa os números reais é estudar
um dos conceitos básicos. Alguns pontos a se estudar relacionado a como o
computador representa os números.
- O sistema binário é o melhor sistema para se usar em um computador? ���
- Converter um número para uma base maior, fazer as contas e desconverter?
- Existe uma base perfeita para se trabalhar com os números? Como sabemos
1/3 não é representado exatamente na base decimal, mas na base 3 ele é
representado de forma exata.
- Se usarmos outro sistema de representação numérica seria melhor? Vale
ressaltar que é utlizado tanto o sistema octal (representação não é redonda), quanto o
hexadecimal (mais utilizado do que o octal) para encurtar os valores numéricos onde em um
sistema binário este numero seria extremamente grande como por exemplo a capacidade de
um HD (hard disc) com capacidade de 400 MB, o que seria 419430400 bytes.
- Se recriarmos a matemática melhoraria algo?
![Page 9: NumeroNumeros reais e Fundamentos da matemáticas reais e Fundamentos da matemática](https://reader036.fdocumentos.com/reader036/viewer/2022073009/55cf92fc550346f57b9ae492/html5/thumbnails/9.jpg)
9
O ponto importante é que o computador é uma máquina de fazer cálculos, ou
seja, usa os fundamentos da matemática desde a sua criação. Devemos estudar os
fundamentos dele para podermos aperfeiçoá-lo.
5. CONCLUSÃO Desta forma concluímos que para um computador, a melhor forma de se
trabalhar internamente é utilizando o sistema binário por ser mais fácil ter que
identificar apenas dois tipos diferentes de pulso de corrente elétrica. Também fica
claro que computadores trabalhando internamente com um sistema numérico na
base 2 apresentam problemas quando devemos utilizar números reais. Para isto,
uma das soluções é o uso da notação científica chamada de ponto flutuante.
6. REFERÊNCIAS BIBLIOGRÁFICAS
http://www.ime.usp.br/~elo/IntroducaoComputacao/Numeros reais.htm
http://intprogc.pbworks.com/w/page/11211433/Representa%C3%A7%C3%A3o de N% C3%BAmeros
http://www.inf.ufpr.br/silvia/numerico/I1.pdf
http://gersonc.anahy.org/repicc/Apoio2-icc-PontoFlutuante.pdf
http://www1.univap.br/spilling/CN/CN_Capt1.pdf
http://blog.reverberate.org/2014/09/what-every-computer-programmer-should.html
http://perso.ens-lyon.fr/jean-michel.muller/goldberg.pdf
http://stackoverflow.com/questions/1089018/why-cant-decimal-numbers-be-represented- exactly-in-binary
http://pt.wikipedia.org/wiki/Fundamentos_da_matem%C3%A1tica
http://pt.wikipedia.org/wiki/Computador