Preciso calcular um numero binário com ponto flutuante. Por exemplo: 101.1 deve me dar o valor 5.5. O problema é que eu pensei em separar em 101 e 0.1 e então transformar o 0.1 em um numero inteiro mas quando faço isso ele arredonda para menos!
ex:
scanf("%lf", &bin);
dec = bin - (int)bin;
printf("%lf", dec);
res2 = dec*10*10*10*10*10*10*10*10*10*10*10*10;
printf("\n%f", res2);
sendo bin 101.1 o resultado para esse .1 convertido para inteiro é 99999999. Reparem que eu multiplico várias vezes por 10 para mover a vírgula. Agradeço desde já. Sei que tá confuso mas vou explicando conforme surgirem dúvidas :D
Question
Kaor
Preciso calcular um numero binário com ponto flutuante. Por exemplo: 101.1 deve me dar o valor 5.5. O problema é que eu pensei em separar em 101 e 0.1 e então transformar o 0.1 em um numero inteiro mas quando faço isso ele arredonda para menos!
ex:
sendo bin 101.1 o resultado para esse .1 convertido para inteiro é 99999999. Reparem que eu multiplico várias vezes por 10 para mover a vírgula. Agradeço desde já. Sei que tá confuso mas vou explicando conforme surgirem dúvidas :D
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.