Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Debutant cherche comment fait opperation sur "float" [ Divers / Débutant(e) ] (chris37000)

dimanche 28 septembre 2008 à 19:05:58 | Debutant cherche comment fait opperation sur "float"

chris37000

Bonjour a vous tous

On a un TP a faire au lycée pour simuler une guirlande de noël.
Un petit truc tout simple qui commande une boite avec 8 leds et il y a 8 entrées

Les leds sont commander avec des variables unsigned float de 0x01 à 0xff

J'ai fait mon 1er programme tout simple en boucle "while" qui incrémente  la variable de 1 et qui arriver a ff me réinitialise la variable a 0.
Cela marche impeccable même si c'est pas très jolie mais en faite vous l'aurez compris, cela ma représente l'incrementation binaire. de 00000000 jusqu'à 11111111.

Bon c'est pas très joli comme guirlande donc j'ai d'autre idée bien sur mais je débute et j'arrivais pas a faire une operation plus complexe de la variable
Par exemple
unsigned float LED;
si je fait LED=LED+1 cela marche c'est ce que j'ai fait pour mon 1er prog.

Mais si je fait LED=LED+LED ou LED*LED Ou même LED*2 cela marche pas.

J'ai essayé avec par exemple LED=LED*0x02     ou   LED=LED*0x2

Mais niete.

merci de votre aide j'aurais bien aimmer m'avancé un peut a la maison car je suis avec 2 loustiques en cours qui n'attende qu'une seule chose, c'est que j'ai fini mon prog du coup c'est pas facile a chercher tous seul. et j'ai pris un peut de retard par rapport a d'autre

C'est marant à 38 ans lorsque je suis arrivé en cours apres 1semaine et demi de retard par rapport a eux personne voulais se mettre avec moi mais maintenant qu'il voie que je veut y arriver il se rapproche pour demander conseil car biensur il on pas tout ecouter du cours que l'on a vu avant :)   Ha ces jeunes :)

Reprise des études après 17 ans pour un BTS IRIS.

dimanche 28 septembre 2008 à 19:28:59 | Re : Debutant cherche comment fait opperation sur "float"

ghuysmans99

Membre Club
Peut-être comme ceci :

#include <iostream>
#include <cmath>
#include <windows.h>

using namespace std;

int main()
{
    double n; int i;
    n=1;
    for (i=0;i<=10;i++)
    {
        n=pow(2,i);
        cout << n << endl;  //pour voir
        Sleep(500);         //    "
    }
    return 0;
}


http://img440.imageshack.us/img440/3552/signaturexr2.gif

dimanche 28 septembre 2008 à 19:33:28 | Re : Debutant cherche comment fait opperation sur "float"

ghuysmans99

Membre Club
Ou encore comme cela :

#include <iostream>
using namespace std;

#include <windows.h>

int main()
{
    double n = 1;
    while (1)
    {
        cout << n << endl;  //pour voir
        Sleep(500);         //    "
        n*=2;
        if (n == 65536*2) n=1;
    }
    return 0;
}


http://img440.imageshack.us/img440/3552/signaturexr2.gif

dimanche 28 septembre 2008 à 19:50:09 | Re : Debutant cherche comment fait opperation sur "float"

chris37000

Merci pour la réponse

Il y a des truc que je connait pas encore la dedans

pow

et si non si je comprend bien "n" c'est donc m'a variable qui allumera mes Leds et on la déclare en "double" même si c'est une unsigned float qui m'est remonté.

En faite je cherche pas la sulution pour faire mon chenillard mais juste le moyen de faire des opération plus complexe que m'a variable+1 après je pourais l'integrer dans dans ce que je veut lui faire faire
Par exemple pour qu'elle s'allume les une a la suite des autres si je me trompe pas c'est ma variable Led*2.

dimanche 28 septembre 2008 à 20:20:13 | Re : Debutant cherche comment fait opperation sur "float"

chris37000

En faite pour faire fonctionner le boitier (ou un simulateur) on a juste a utilisé un tParIO.h qui nous est donner par le prof.

on sait que l'objet

tParIOEcrireLed( ) nous allume les leds en fonction de la variable que l'on lui donne
et
tParIOLireBP( ) nous permet de recuperer l'info des boutons par la variable BP.

On sait aussi que les variables à donner ou a récupérer sont de type "unsigned float"

Après on connait les objets pour le boitier ou le simulateur.



dimanche 28 septembre 2008 à 22:28:36 | Re : Debutant cherche comment fait opperation sur "float"

ghuysmans99

Membre Club
Ouais, tu peux transformer le double n = 1; en float n = 1;
Pour la fonction POW, elle calcule paramètre 1 paramètre 2  .

http://img440.imageshack.us/img440/3552/signaturexr2.gif

mercredi 1 octobre 2008 à 13:00:53 | Re : Debutant cherche comment fait opperation sur "float"

Spoolega

Bonjour,

Tu nous dis que tout ceci ne marche pas :
Mais si je fait LED=LED+LED ou LED*LED Ou même LED*2 cela marche pas.
J'ai essayé avec par exemple LED=LED*0x02     ou   LED=LED*0x2


Je me demande comment tu fais ton initialisation sur ta variable LED ?
Si tu l'init. à 0, LED ne changera jamais dans toutes ces opérations.

Une autre idée aussi, mais pour ce genre de chose (chenillar) il est peut être plus pratique de travailler au niveau des bits sur ta variable :

void main(void)
{
    unsigned float var = 1;  // ne pas init à 0, sinon, ça ne marche pas !

    for(int i = 0; i<10; i++)
        printf("%x\n", var = var << 1);  // affichage en hexa
}

Avec l'opérateur <<  on viens créer un décalage vers la gauche des bits de ta variable (cela reviens a faire une multiplication par 2). Tu peux t'amuser ainsi avec tous les autres (voir les opérateurs logiques) : >>   &  |

++

mercredi 1 octobre 2008 à 17:51:27 | Re : Debutant cherche comment fait opperation sur "float"

chris37000

Bonjour,

Je n'est rien compris, non pas par ce que vous m'avez gentillement dit mais par mon problème car en faite cela marche très bien.
Mais je vais changer de machine car elle m'a refait le coup cette après midi.

Donc comme je vous disait, l'opération Led*2 marchait pas mais Led+1 oui. Lorsque j'ai repris mon exo sans rien changer à mon programme cela a bien voulu compiler et je n'avais plus de défaut.
Et aujourd'hui on a repris la même base et elle ne marchait plus, J'ai rebouter le PC et denouveau c bon.

Si non pour le decalage des bit on a vu sa aujoud'hui et je l'ai pas utilisé car du coup j'ai fait 4 prog avec des boucles.

merci de votre aide


Reprise des études après 17 ans pour un BTS IRIS.

mercredi 1 octobre 2008 à 19:13:31 | Re : Debutant cherche comment fait opperation sur "float"

ghuysmans99

Membre Club
Oui mais ça doit commencer par un nombre x^2 (exemple 32).
Si tu commences par 6, ça ne marchera pas (en binaire, 110 (6) devient 1100 (12))

http://img440.imageshack.us/img440/3552/signaturexr2.gif

mercredi 1 octobre 2008 à 19:27:19 | Re : Debutant cherche comment fait opperation sur "float"

chris37000

Pour mon chenillard

J'ai simplement fait

        Led=1

         tant que (1)  // en boucle infini donc pour le moment

               Si Led <= 0x80
                    ecrireLed (Led)
                    Led*2
                    usleep (300000)
                si non
                    Led=1
           fin tant que


un truc comme sa et cela marche

Apres j'ai fait l'inverse en partant de 0x80
    

Reprise des études après 17 ans pour un BTS IRIS.



Cette discussion est classé dans : marche, cours, debutant, float, led


Répondre à ce message

Sujets en rapport avec ce message

pourquoi ca marche pas :'( [ par xboxut ] salut j ai un probleme avec une fonction pour initialiser des particules,pouvez vous me dire pourquoi il ne marche pas et comment le faire marcher#inc [Debutant C ] Modifier un bit dans une variable [ par GentooUser ] Salut,Voila j'ai une variable de type BYTE (unsigned char) donc 8bits, et j'aimerai pouvoir définir à 1 ou 0 chaque bits de la variable independement. fermeture appli MFC en cours [ par dambeaufort ] bonjour, j(ai actuellement developpe une application avec plusieurs fenetres qui s'ouvrent les unes apres les autres. En parallele, un thread de detec DevIL + OpenGL = problème [ par Pamaury ] Salut tout le monde,j'ai un gros problème : j'essaye de faire marcher DevIL avec OpenGL et pour l'instant j'ai eu que des problèmes jusqu'au moment où Trier un set, ca marche pas!!! besoin d'aide svp... [ par jamirc ] j'ai un set de pointeur Etudiant,je veux en faire le tri par le type du programme et ca marche pas.Voici les attributs dans mon Etudiant.hprotected: debutant : mode graphique ? [ par smilandfly ] Bonjour a tousJe debute en c++.Je veins de programmer un awale et j'aimerai pouvoir le mettre en mode graphique.Il y a l'air d'avoir plusieur facon de CONTROLER LA SAISIE D UN FLOAT [ par natacha20 ] Bonjour, je voudrai contrôler les données saisies par l'utilisateur. C'est a dire, qd je lui demande de saisir un FLOAT et qu'il saisie un chaîne de c de l'objet et du c++ pour un debutant [ par zarbiman ] salut tout le monde, je debute en c++ objet, et j'ai un petit probleme: j'ai un projet qui utilise des objets, mais dans les fichiers headers que j'ai debutant [ par hcosquer ] bonsoir a tous et desolé pour ma betise, je maitrise le php mais je voudrais apprendre le c et le c++ et je n'arrive pas a trouver de tutoriels expliq demande de cours [ par aurelie122 ] Bonjour à tous,Actuellement étudiante en DEUST, je vais avoir des rattrappages de C en septembre, et je cherche quelqu'un qui pourrait me donner des c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.