Cast sur C18
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Cast sur C18



  1. #1
    thundertom

    Cast sur C18


    ------

    Bonjour à tous,

    Je travaille actuellement sur un projet, et je dois faire quelque calcul à virgule flottante. Seulement le nombre de base est un entier.
    Il faut donc que je fasse un cast. Seulement je ne suis pas encore tout à fait à l'aise
    avec cette opération.
    Donc comme dit dans le titre, j'utilise le compilo C18, est-ce-que le code ci-dessous fonctionneras?

    Code:
     
    void gCompute_Current(void)
    {
           int aCurrent;
           aCurrent = mAD_ReadCurrent(); //Lecture de l'AD
           
           aCurrent *= (float)kADFactor;  //Passage de int en float?
    }
    Merci pour vos réponses

    -----
    Fabricando fit faber

  2. #2
    gienas
    Modérateur

    Re : Cast sur C18

    Bonjour thundercom et tout le groupe

    Je ne vois pas bien qui est quoi dans ton code.

    Si Adcurrent est un int, il suffit de mettre le cast devant, au moment de s'en servir.

    Code:
    int saisie;
    float resultat
    int coeff;
    
    resultat=(float)saisie*(float)coeff;

  3. #3
    thundertom

    Re : Cast sur C18

    Merci pour ta réponse, pour précision:
    mAD_ReadCurrent() est une fonction qui va chercher le résultat d'une conversion A/D dont le prototype est :
    Code:
     int mAD_ReadCurrent(void);
    Est-ce que je peux mettre le cast directement avant la fonction?
    Code:
     aCurrent = (float) mAD_ReadCurrent();
    Sachant que je déclarerais alors aCurrent en float.
    Fabricando fit faber

  4. #4
    gienas
    Modérateur

    Re : Cast sur C18

    Pas de problème, mais je me demande si cet "intermédiaire" est bien indispensable.

  5. A voir en vidéo sur Futura
  6. #5
    thundertom

    Re : Cast sur C18

    Tu appels intermédiaire l'appel de fonction pour récupéré le résultat de la conversion?
    Fabricando fit faber

  7. #6
    gienas
    Modérateur

    Re : Cast sur C18

    Citation Envoyé par thundertom Voir le message
    Tu appels intermédiaire l'appel de fonction pour récupéré le résultat de la conversion?
    Non. Je me demande si la variable aCurrent, de type float, est bien dispensable, c'est tout. Un "simple" int, utilisé avec un cast devant, devrait suffire.

  8. #7
    thundertom

    Re : Cast sur C18

    Je ne comprend pas très bien ce que tu veux dire. Est-ce-que tu pourrais me le mettre sous forme de code s'il te plait?
    Fabricando fit faber

  9. #8
    gienas
    Modérateur

    Re : Cast sur C18

    Bonjour à tous

    Citation Envoyé par thundertom Voir le message
    ... Est-ce-que tu pourrais me le mettre sous forme de code s'il te plait?
    Je ne pense pas que ce soit nécessaire.

    Tu déclares, quelque part, ceci, je crois que c'est en #1

    Code:
    int aCurrent;
    Que je comprends contenir le fameux entier d'acquisition.

    Si c'est bien le cas, chaque "utilisation" de cette valeur en mémoire pourrait être systématiquement (float) aCurrent

Discussions similaires

  1. HPLC colonne C18
    Par invited6681873 dans le forum Chimie
    Réponses: 2
    Dernier message: 28/03/2010, 13h28
  2. Mplab c18
    Par invite6185b9fb dans le forum Électronique
    Réponses: 13
    Dernier message: 25/11/2009, 17h12
  3. MPLAB 7.41 et C18
    Par invitec1317d72 dans le forum Électronique
    Réponses: 11
    Dernier message: 06/05/2008, 13h15
  4. Pb de types C18 sur 18F - Resultat de calcul faux
    Par invite5dd9c328 dans le forum Électronique
    Réponses: 14
    Dernier message: 12/04/2007, 21h32
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...