Baixe o app para aproveitar ainda mais
Prévia do material em texto
GEX114 - Ca´lculo Nume´rico Profa.Dra. Amanda Castro Oliveira Departamento de Cieˆncias Exatas - DEX/UFLA amanda@dex.ufla.br Aula 2 Vimos que grande parte dos erros de computac¸a˜o sa˜o oriundos da representac¸a˜o dos nu´meros no computador... 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Os nu´meros podem ser decompostos em poteˆncias de sua base vejamos: (382919)10 = 3 ∗ 105 + 8 ∗ 104 + 2 ∗ 103 + 9 ∗ 102 + 1 ∗ 101 + 9 ∗ 100 (101011)2 = 1∗25 + 0∗24 + 1∗23 + 0∗22 + 1∗21 + 1∗20 = (43)10 Da mesma forma quando temos parte fraciona´ria podemos escrever: (32.54)10 = 3 ∗ 101 + 2 ∗ 100 + 5 ∗ 10−1 + 4 ∗ 10−2 (101.010)2 = 1∗22+0∗21+1∗20+0∗2−1+1∗2−2+0∗2−3 = (5.25)10 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Os nu´meros podem ser decompostos em poteˆncias de sua base vejamos: (382919)10 = 3 ∗ 105 + 8 ∗ 104 + 2 ∗ 103 + 9 ∗ 102 + 1 ∗ 101 + 9 ∗ 100 (101011)2 = 1∗25 + 0∗24 + 1∗23 + 0∗22 + 1∗21 + 1∗20 = (43)10 Da mesma forma quando temos parte fraciona´ria podemos escrever: (32.54)10 = 3 ∗ 101 + 2 ∗ 100 + 5 ∗ 10−1 + 4 ∗ 10−2 (101.010)2 = 1∗22+0∗21+1∗20+0∗2−1+1∗2−2+0∗2−3 = (5.25)10 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Na base 10(decimal), para se multiplicar um nu´mero por uma poteˆncia de 10 e´ equivalente a deslocar o ponto(v´ırgula), para a direita. 235.2 ∗ 10 = 2352.0 235.2 ∗ 102 = 23520.0 Na base 2(bina´ria), vale a mesma regra assim temos que: (5)10 = (101)2 logo (10)10 = 2 ∗ (101)2 = (1010)2 Quanto vale 20 em bina´rio? E 2.5? (20)10 = (10100)2 (2.5)10 = (10.1)2 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Na base 10(decimal), para se multiplicar um nu´mero por uma poteˆncia de 10 e´ equivalente a deslocar o ponto(v´ırgula), para a direita. 235.2 ∗ 10 = 2352.0 235.2 ∗ 102 = 23520.0 Na base 2(bina´ria), vale a mesma regra assim temos que: (5)10 = (101)2 logo (10)10 = 2 ∗ (101)2 = (1010)2 Quanto vale 20 em bina´rio? E 2.5? (20)10 = (10100)2 (2.5)10 = (10.1)2 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio De forma geral, um nu´mero em uma base β qualquer (x)β = (ajaj−1 · · · a2a1a0)β, onde 0 ≤ ak ≤ (β − 1) e k = 1, · · · , j , que pode ser escrito na forma polinomial: aj ∗ βj + aj−1 ∗ βj−1 + · · ·+ a0 ∗ β0 = j∑ i=0 ai ∗ βi 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Assim podemos facilmente converter um nu´mero do sistema bina´rio para decimal: (1110)2 = 1 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 = 8 + 4 + 2 = (14)10 (111.011)2 = 1 ∗ 22 + 1 ∗ 21 + 1 ∗ 20 + 0 ∗ 2−1 + 1 ∗ 2−2 + 1 ∗ 2−3 = 4 + 2 + 1 + 0 + 0.25 + 0.125 = (7.375)10 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Exerc´ıcio ra´pido- converta os seguintes nu´meros de bina´rio para decimal: 1 (10111001)2 2 (100.01)2 3 (111100)2 4 (0.0001)2 O que podemos dizer sobre o u´ltimo d´ıgito significativo antes do ponto? Nu´meros pares: parte inteira termina com zero; Nu´meros ı´mpares: parte inteira termina com um. 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Exerc´ıcio ra´pido- converta os seguintes nu´meros de bina´rio para decimal: 1 (10111001)2 2 (100.01)2 3 (111100)2 4 (0.0001)2 O que podemos dizer sobre o u´ltimo d´ıgito significativo antes do ponto? Nu´meros pares: parte inteira termina com zero; Nu´meros ı´mpares: parte inteira termina com um. 1.2.1 Conversa˜o de nu´meros nos sistemas decimal e bina´rio Exerc´ıcio ra´pido- converta os seguintes nu´meros de bina´rio para decimal: 1 (10111001)2 2 (100.01)2 3 (111100)2 4 (0.0001)2 O que podemos dizer sobre o u´ltimo d´ıgito significativo antes do ponto? Nu´meros pares: parte inteira termina com zero; Nu´meros ı´mpares: parte inteira termina com um. 1.3.1 Conversa˜o de nu´meros no sistema decimal para bina´rio Parte Inteira - Me´todo das diviso˜es sucessivas: Divide-se o nu´mero na base decimal por 2, em seguida divide-se o quociente desta divisa˜o por 2 e repete-se o processo ate´ que o u´ltimo quociente seja igual a 1. O nu´mero bina´rio sera´ enta˜o formado pela concatenac¸a˜o do u´ltimo quociente com os restos das diviso˜es lidos no sentido inverso ao que foram obtidos, isto e´: (20)10 = (10100)2 1.3.1 Conversa˜o de nu´meros no sistema decimal para bina´rio Exerc´ıcio ra´pido - converta os seguintes nu´meros de decimal para bina´rio: 1 25 2 18 3 7 4 6 1.3.1 Conversa˜o de nu´meros no sistema decimal para bina´rio Parte Fraciona´ria - Multiplicac¸o˜es sucessivas: 1 Multiplicar a parte fraciona´ria do nu´mero por 2; 2 Deste resultado a parte inteira sera´ o primeiro d´ıgito do nu´mero na base 2 e a parte fraciona´ria restante e´ novamente multiplicada por 2. 3 Este processo e´ repetido ate´ que a parte fraciona´ria do u´ltimo produto seja nula. (0.1875)10 = (0.0011)2 1.3.1 Conversa˜o de nu´meros no sistema decimal para bina´rio Exerc´ıcio ra´pido - converta os seguintes nu´meros de decimal para bina´rio: 1 0.75 2 14.25 3 8.325 4 0.11 1.3.1 Conversa˜o de nu´meros no sistema decimal para bina´rio Vemos enta˜o que um nu´mero decimal pode na˜o ter representac¸a˜o finita na base bina´ria. Este fato pode acarretar a ocorreˆncia de erros nume´ricos. O computador armazena os nu´meros com um nu´mero finito de d´ıgitos. Este tipo de “problema” pode gerar erros bizarros! Um computador que opera no sistema bina´ria ira´ armazenar uma aproximac¸a˜o para (0.11)10 uma vez que possui uma quantidade fixa de posic¸o˜es na memo´ria para guardar os d´ıgitos da mantissa de um nu´mero e esta aproximac¸a˜o sera´ usada para realizar todos os ca´lculos. Na˜o se pode portanto esperar um resultado exato. Se tivermos uma mantissa com apenas 6 d´ıgitos enta˜o: (0.11)10 = (0.000111)2 = (0.109375)10 Portanto todas as operac¸o˜es que envolvem o nu´mero (0.11)10 seriam realizadas com esta aproximac¸a˜o. 1.3.1 Conversa˜o de nu´meros no sistema decimal para bina´rio Vemos enta˜o que um nu´mero decimal pode na˜o ter representac¸a˜o finita na base bina´ria. Este fato pode acarretar a ocorreˆncia de erros nume´ricos. O computador armazena os nu´meros com um nu´mero finito de d´ıgitos. Este tipo de “problema” pode gerar erros bizarros! Um computador que opera no sistema bina´ria ira´ armazenar uma aproximac¸a˜o para (0.11)10 uma vez que possui uma quantidade fixa de posic¸o˜es na memo´ria para guardar os d´ıgitos da mantissa de um nu´mero e esta aproximac¸a˜o sera´ usada para realizar todos os ca´lculos. Na˜o se pode portanto esperar um resultado exato. Se tivermos uma mantissa com apenas 6 d´ıgitos enta˜o: (0.11)10 = (0.000111)2 = (0.109375)10 Portanto todas as operac¸o˜es que envolvem o nu´mero (0.11)10 seriam realizadas com esta aproximac¸a˜o. Pro´xima aula 1 Hoje vimos como converter os bina´rios em decimais e vice versa 2 Na pro´xima aula veremos como o computador armazena os nu´meros e realiza as operac¸o˜es. Por hoje e´ so´ pessoal!!
Compartilhar