Jump to content
Fórum Script Brasil
  • 0

Problema para movimentação de virgula


Kaor

Question

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

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
#include <stdio.h>


int main(int argc, char** argv)
{
	double bin;
	double dec;
	double res2; 
	
printf("Digite o valor: ");
  scanf("%lf", &bin);
    dec = bin - (int)bin;
    printf("%lf", dec);
    res2 = bin * 10;
    printf("\n%lf", res2);
    
    getchar();
	return 0;
}

Se não for isso posta o código todo explica melhor.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...