begin process at 2010 03 21 12:38:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Debutant cherche comment fait opperation sur "float"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Debutant cherche comment fait opperation sur "float"

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ée 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 cours debutant GTK [ par kawaboyz ] Bonjour je voudrai savoir svp ou trouver des cours de GTK por debutant ET MERCI !!! samir..kawa..boy comment marche les codes ? [ par smog54 ] Bonsoir, voilà je suis débutant, je voudrez savoir comment marche les codes.. il faut un compilateur ? créer un pack d'installation ou autres choses étrange Exponentielle [ par BirD ] Hello tout le monde, Dans un programme, je dois calculer une exponentielle. Petit tour sur google, je vois que la librairie math.h contient la foncti conversion binaire vers float rs-232 [ par zilot2 ] bonjours et pardonnez mon français: j'ai un projet pic16f qui consiste a envoyer un nombre float au port rs-232 puis je l'affiche sur pc.mon probleme cours sur la programmation du pic16f877 en c [ par kholiyos ] kholiyos[^^clinoeil1] salut à tous je dois faire un projet qui consiste à détecter la présence d'une carte RFID et l'identifier .pour faire ,on conçoi demarrer un logiciel en viet [ par snokie ] Bonjour, je travaille en ce moment sur un logiciel qui marche en anglais ou en français sous XP anglais (pour la version anglais) et XP français (po Programme compilé sous vista ne marche pas sous xp [ par twil ] Bonjour, J'ai un petit soucis... J'ai fait un programme en vs2005 qui compile sou vista comme sous xp. Cependant si l'exe généré sous xp fonctionne s Mon exécutable ne marche pas [ par Gagnantdu06 ] Bonjour, je viens poster ce message ici car je sais vraiment plus quoi faire. J'ai donc créer un jeu en C avec la librairie SDL et avec comme IDE Code seekp (pointeur sur un objet) [ par infodaoudi ] Bonjour, j'ai un fichier binaire compose d'une suite d'objet de type RegionMere telle que class RegionMere { float MBR; Region *Core; R


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales