Ir ao conteúdo

Decompor um numero float


LEOPUENA

Posts recomendados

Postado

Olá pessoal,,,

Preciso fazer uma decomposição/conversão de um numero do tipo float em factores do tipo inteiro, e fazer o processo inverso. Mas estou com algumas dificuldades com os valores depois da virgula. Criei duas funções para fazer cada operação e gostaria que dessem uma olhada:


int16 valor1=0,valor2=0,valor3=0,valor4=0;
int16 aux,float1000,float100,float10,decimal=0;


////////////////////////////////////////////////////////////////////////////////
float comporNumero(int16 num1,int16 num2,int16 num3,int16 num4,int16 decima){
//FUNÇÃO PARA COMPOR UM NUMERO FLOAT A PARTIR DE FACTORES INTEIROS

float floatnum=0,ponto;

ponto = decima/100;
floatnum=(num1*1000)+(num2*100)+(num3*10)+(num4)+ponto;

return(floatnum);


}

////////////////////////////////////////////////////////////////////////////////
void converteFloatToInt(float numero){
//FUNÇÃO PARA DECOMPOR UM NUMERO FLOAT EM FACTORES INTEIROS


aux=numero;
decimal=(numero-aux)*100;

valor1=aux/1000;
float1000=(valor1*1000);

aux=aux-float1000;
valor2=aux/100;
float100=(valor2*100);

aux=numero;
aux=aux-(float1000+float100);

valor3=aux/10;
float10=(valor3*10);


aux=numero;
aux=aux-(float1000+float100+float10);

valor4=aux;



puts("");
printf("%f --> %li %li %li %li , %li",numero, valor1,valor2,valor3,valor4,decimal);



}

De momento a função disso é guardar um certo valor na EEPROM.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!