Conversão de números reais decimais em binário Exemplo 1: Converta para binário o valor 0,3125 usando 5 bits de precisão 0,3125 0,6250 0,2500 0,5000 0,0 x2 x2 x2 x2 x2 = = = = = 0,625 1,250 0,500 1,000 0,000 passe esse valor para a linha de baixo subtraia 1 e passe o restante para a linha de baixo passe esse valor para a linha de baixo subtraia 1 e passe o restante para a linha de baixo Chegou em zero, terminou. Os dígitos acima em negrito, lidos de cima para baixo, compõe o binário pretendido. Portanto: (0,3125) 10 = (0,01010) 2 Este caso tem solução exata, o que é uma grande minoria dos casos. Exemplo 2: Converta para binário o valor 0,1 usando 6 bits de precisão 0,1 0,2 0,4 0,8 0,6 0,2 x2 x2 x2 x2 x2 x2 = = = = = = 0,2 0,4 0,8 1,6 1,2 0,4 passe esse valor para a linha de baixo passe esse valor para a linha de baixo passe esse valor para a linha de baixo subtraia 1 e passe o restante para a linha de baixo subtraia 1 e passe o restante para a linha de baixo atingiu o limite de bits estabelecido. Os dígitos acima em negrito, lidos de cima para baixo, compõe o binário pretendido. Portanto: (0,1) 10 = (0,000110) 2 Este caso não tem solução exata, portanto a solução apresentada acima é uma aproximação. É possível calcular o erro que se comete numa aproximação como essa. Basta calcular o valor decimal exato que é representado pelo binário acima: 0 0 0 1 1 0 x x x x x x 0,5 = 0,25 = 0,125 = 0,0625 = 0,03125 = 0,015625 = Total = 0 0 0 0,0625 0,03125 0 0,09375 Este é o valor real representado pelo binário acima, menor que 0,1 O erro desse arredondamento a menor é: Errmenor = (0,1 – 0,09375) / 0,1 = 0,0625 ou em porcentagem Errmenor = 6,25% Pode-se também efetuar o arredondamento a maior. Para isso, basta somar 1 no bit menos significativo do binário obtido: 0,000110 + 0,000001 0,000111 Portanto teríamos a segunda possibilidade de resultado: (0,1) 10 = (0,000111) 2 Aqui também temos uma aproximação, porém agora para um valor “a maior”. É possível calcular o erro que se comete da mesma forma como foi feito acima: 0 0 0 1 1 0 x x x x x x 0,5 = 0,25 = 0,125 = 0,0625 = 0,03125 = 0,015625 = Total = 0 0 0 0,0625 0,03125 0,015625 0,109375 Este é o valor real representado pelo binário acima, maior que 0,1 O erro desse arredondamento a menor é: Errmaior = (0,109375 – 0,1) / 0,1 = 0,09375 ou em porcentagem Errmaior = 9,375% Resumindo temos: (0,000110) 2 = (0,09375) 10 Errmenor = 6,25% (0,000111) 2 = (0,109375) 10 Errmaior = 9,375% (0,1) 10 = ATENÇÃO. Nomenclatura Errmenor Errmenor este símbolo significa “Erro de arredondamento a menor” e NÃO o menor erro este símbolo significa “Erro de arredondamento a maior” e NÃO o maior erro Exemplo 3: Converta para binário o valor 0,315 usando 6 bits de precisão 0,31 0,62 0,24 0,48 0,96 0,92 x2 x2 x2 x2 x2 x2 = = = = = = 0,62 1,24 0,48 0,96 1,92 1,84 passe esse valor para a linha de baixo subtraia 1 e passe o restante para a linha de baixo passe esse valor para a linha de baixo passe esse valor para a linha de baixo subtraia 1 e passe o restante para a linha de baixo atingiu o limite de bits estabelecido. Portanto os resultados são: (0,010011) 2 = (0,296875) 10 Errmenor = 4,23% (0,010100) 2 = (0,312500) 10 Errmaior = 0,81% (0,315) 10 = Exercícios 1. Converta os valores abaixo para binário usando 5 bits de precisão 0,987 0,6 0,1889 0,461 0,0371 0,6103 0,0001 0,2 0,815 2. Converta os valores abaixo para binário usando 6 bits de precisão 0,987 0,6 0,1889 0,461 0,0371 0,6103 0,0001 0,2 0,815 3. Converta os valores abaixo para binário usando 7 bits de precisão 0,987 0,6 0,1889 0,461 0,0371 0,6103 0,0001 0,2 0,815 4. Faça um comparativo entre os erros obtidos para cada número acima com 5, 6 e 7 bits. Para cada valor preencha o gabarito proposto. 0,987 Binário = Errmenor = Binário = Errmaior = 5 bits 6 bits 7 bits