Informática, perguntado por unkk, 10 meses atrás

como trasformar números com vírgula em números binários?

Soluções para a tarefa

Respondido por bokomoko
1
multiplique por 2 e pegue a parte inteira

por exemplo 0,38892394820548 na base 10 fica como na base 2 ?

a conta fica assim
0,38892394820548 multiplic por 2 dá 0,77784789641096 parte inteira é 0
0,77784789641096 multiplic por 2 dá 1,55569579282192 a parte inteira é 1
0,55569579282192 multiplic por 2 dá 1,11139158564384 a parte inteira é 1
0,11139158564384 multiplic por 2 dá 0,22278317128768 a parte inteira é 0
0,22278317128768 multiplic por 2 dá 0,44556634257536 a parte inteira é 0
0,44556634257536 multiplic por 2 dá 0,89113268515072 a parte inteira é 0
0,89113268515072 multiplic por 2 dá 1,78226537030144 a parte inteira é 1
0,78226537030144 multiplic por 2 dá 1,56453074060288 a parte inteira é 1
0,56453074060288 multiplic por 2 dá 1,12906148120575 a parte inteira é 1
0,12906148120575 multiplic por 2 dá 0,25812296241151 a parte inteira é 0
0,25812296241151 multiplic por 2 dá 0,51624592482301 a parte inteira é 0
0,51624592482301 multiplic por 2 dá 1,03249184964602 a parte inteira é 1
0,03249184964602 multiplic por 2 dá 0,06498369929204 a parte inteira é 0
0,06498369929204 multiplic por 2 dá 0,12996739858409 a parte inteira é 0
0,12996739858409 multiplic por 2 dá 0,25993479716817 a parte inteira é 0
0,25993479716817 multiplic por 2 dá 0,51986959433634 a parte inteira é 0
0,51986959433634 multiplic por 2 dá 1,03973918867268 a parte inteira é 1
0,03973918867268 multiplic por 2 dá 0,07947837734537 a parte inteira é 0
0,07947837734537 multiplic por 2 dá 0,15895675469074 a parte inteira é 0
0,15895675469074 multiplic por 2 dá 0,31791350938147 a parte inteira é 0
0,31791350938147 multiplic por 2 dá 0,63582701876294 a parte inteira é 0
0,63582701876294 multiplic por 2 dá 1,27165403752587 a parte inteira é 1
0,27165403752588 multiplic por 2 dá 0,54330807505175 a parte inteira é 0
0,54330807505175 multiplic por 2 dá 1,08661615010350 a parte inteira é 1
0,08661615010351 multiplic por 2 dá 0,17323230020702 a parte inteira é 0
0,17323230020702 multiplic por 2 dá 0,34646460041404 a parte inteira é 0
0,34646460041404 multiplic por 2 dá 0,69292920082808 a parte inteira é 0
0,69292920082808 multiplic por 2 dá 1,38585840165615 a parte inteira é 1
0,38585840165615 multiplic por 2 dá 0,77171680331230 a parte inteira é 0
0,77171680331230 multiplic por 2 dá 1,54343360662460 a parte inteira é 1
0,54343360662460 multiplic por 2 dá 1,08686721324920 a parte inteira é 1
0,08686721324921 multiplic por 2 dá 0,17373442649841 a parte inteira é 0
0,17373442649841 multiplic por 2 dá 0,34746885299683 a parte inteira é 0
0,34746885299683 multiplic por 2 dá 0,69493770599365 a parte inteira é 0
0,69493770599365 multiplic por 2 dá 1,38987541198730 a parte inteira é 1
0,38987541198731 multiplic por 2 dá 0,77975082397461 a parte inteira é 0
0,77975082397461 multiplic por 2 dá 1,55950164794921 a parte inteira é 1
0,55950164794922 multiplic por 2 dá 1,11900329589843 a parte inteira é 1
0,11900329589844 multiplic por 2 dá 0,23800659179688 a parte inteira é 0
0,23800659179688 multiplic por 2 dá 0,47601318359375 a parte inteira é 0
0,47601318359375 multiplic por 2 dá 0,95202636718750 a parte inteira é 0
0,95202636718750 multiplic por 2 dá 1,90405273437500 a parte inteira é 1
0,90405273437500 multiplic por 2 dá 1,80810546875000 a parte inteira é 1
0,80810546875000 multiplic por 2 dá 1,61621093750000 a parte inteira é 1
0,61621093750000 multiplic por 2 dá 1,23242187500000 a parte inteira é 1
0,23242187500000 multiplic por 2 dá 0,46484375000000 a parte inteira é 0
0,46484375000000 multiplic por 2 dá 0,92968750000000 a parte inteira é 0
0,92968750000000 multiplic por 2 dá 1,85937500000000 a parte inteira é 1
0,85937500000000 multiplic por 2 dá 1,71875000000000 a parte inteira é 1
0,71875000000000 multiplic por 2 dá 1,43750000000000 a parte inteira é 1
0,43750000000000 multiplic por 2 dá 0,87500000000000 a parte inteira é 0
0,87500000000000 multiplic por 2 dá 1,75000000000000 a parte inteira é 1
0,75000000000000 multiplic por 2 dá 1,50000000000000 a parte inteira é 1
0,50000000000000 multiplic por 2 dá 1,00000000000000 a parte inteira é 1
0,00000000000000 multiplic por 2 dá 0,00000000000000 a parte inteira é 0


Se pegar as partes inteiras, de cima para baixo, teremos
0,011000111001000010000101000101100010110001111001110111₂

Nesse exemplo, o número decimal fracionário que usamos tem um correspondente na base 2. As vezes NÃO TEM !!! Quer ver ? 

suponha o valor 0,02₁₀ ... como fica na base 2 ? 
vamos repetir o algoritmo
0,02 x 2 = 0,04 inteira é  0
0,04 x 2 = 0,08 inteira é  0
0,08 x 2 = 0,16 inteira é  0
0,16 x 2 = 0,32 inteira é  0
0,32 x 2 = 0,64 inteira é  0
0,64 x 2 = 1,28 inteira é  1
0,28 x 2 = 0,56 inteira é  0
0,56 x 2 = 1,12 inteira é  1
0,12 x 2 = 0,24 inteira é  0
0,24 x 2 = 0,48 inteira é  0
0,48 x 2 = 0,96 inteira é  0
0,96 x 2 = 1,92 inteira é  1
0,92 x 2 = 1,84 inteira é  1
0,84 x 2 = 1,68 inteira é  1
0,68 x 2 = 1,36 inteira é  1
0,36 x 2 = 0,72 inteira é  0
0,72 x 2 = 1,44 inteira é  1
0,44 x 2 = 0,88 inteira é  0
0,88 x 2 = 1,76 inteira é  1
0,76 x 2 = 1,52 inteira é  1
0,52 x 2 = 1,04 inteira é  1
0,04 !!! OPA !! voltamos ao início !!!
O que acontece aqui é que 0,02 decimal é uma DÏZIMA pERióDIca na base 2 !!!!






unkk: um excelentíssimo obrigado, mas é as dizimas periódicas preciso usar reticências nelas?
unkk: mas e "
bokomoko: sim. Tem que usar reticências depois do resultado de produto que se repetiu pois daí em diante será igual.
bokomoko: Detalhe, como a base 2 tem menos algarismos que a base 10, ela precisa de mais dígitos para representar o mesmo valor.
Isso significa que as dízimas periódicas em binário tendem a ser mais longas que as dízimas periódicas em decimal
bokomoko: esse lance da dízima periódica funciona tanto quando você passa de uma base maior para uma menor (de base 10 para base 2) ... aumenta a frequencia de dízimas. Quando passa de uma base menor para uma maior (de base 10 para base 12) aparecem menos dízimas.
bokomoko: por exemplo : na base 10, 2/3 dá dízima
Já na base 12, não dá :)
Aliás, a base 12 tem bem menos dízimas do que a base 10. Isso porque o 12 tem mais divisores
divisores de 10 -> 1, 2, 5 e 10 -> qtde de divisores = 4
divisores de 12 -> 1, 2, 3, 4, 6 e 12 -> qtde de divisores = 6
bokomoko: Isso ajuda a entender a diferença entre uma dízima periodica e um número irracional.
unkk: obrigado mais uma vez, uma última dúvida, computadores entedem somente zeros e uns, então que parte do computador ficaria responsável em comprender a vírgula ou a reticências em um número binário?
Perguntas interessantes