Ir para conteúdo
Fórum Script Brasil
  • 0

Problema para movimentação de virgula


Kaor

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...