1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Conta de floats feita como inteiro?Ajuda

Discussão em 'Programação' iniciada por zafa, 20 de Agosto de 2007. (Respostas: 4; Visualizações: 591)

  1. zafa

    zafa Power Member

    Boas

    Precisava de fazer esta conta de maneira que apenas use inteiros sendo que a potencia de entrada varia entre 0 e 255 e a percentagem que é a saida vai de 0 a 100.

    percentagem=((255-potencia)/255)*100;

    O problema de fazer isto com Float's é que como isto é para contralar uma carga AC o microprocessador demora um bocadito de tempo a fazer a conta pelo que à saida onde está uma lampada que estamos a controlar, ela pisca um pouco, mas esse pouco é suficiente para o orientador ñ gostar disto assim. Ja experimentei usar o CEIL ou o MODF ou FLOOR mas esses comando devolvem float pelo que tambem fazem a conta em float.É que como inteiro, a conta é feita mas dpois ñ arranjo maneira de mostar o valor no LCD nem no HyperTerminal.
    Se alguem me pudesse ajudar agradecia. Isto é feito em C e compilado no PCW
    Cumps.
     
  2. CoolMaster

    CoolMaster Power Member

    Vê lá se o itrunc() funciona para o que queres. Seja como for algo me leva a pensar que a variavel percentagem não é um int, porque se fosse ela ficava com a parte inteira da divisão, por isso antes de usares alguma função verifica isso.
     
  3. SoundSurfer

    SoundSurfer Power Member

    Experimenta juntar ".0" aos inteiros constante que aí tens.
     
  4. zafa

    zafa Power Member

    Essa instruçao não existe. já tentei usar uma xamada Idiv ou div mas ta sempre a dar erro a dizer q nao a conhece e ta sempre a acusar falta duma variavel.

    @SoundSurfer

    A tua soluçao funcionou.

    Muito grato a ambos.
    Cumps
     
  5. CoolMaster

    CoolMaster Power Member

    Compilaste com o -lm ? É que essas funções sao do math.h
    Para o math.h precisas de especificar a opção -l no gcc, o m significa que é a libm que queres usar.
     

Partilhar esta Página