Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Pourquoi je n'arrive pas à me remettre aux PIC
- F6FCO
Expert- Messages : 1417
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
C'est bon, en tâtonnant j'ai trouvé comment faire mais je suis curieux d'entendre un avis sur la chose.
donne 0.5, mais c'est tiré par les cheveux je trouve.
Code : Tout sélectionner
double essai=(double)2/4;
donne 0.5, mais c'est tiré par les cheveux je trouve.
Modifié en dernier par F6FCO le ven. 6 sept. 2019 09:30, modifié 1 fois.
Pourquoi je n'arrive pas à me remettre aux PIC
- Claudius
Passionné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonjour,
Tout à fait normal, car 2/4 est la division de 2 entiers et donc donne 0
Pour obtenir 0.5, il faut caster, essaie :
Tout à fait normal, car 2/4 est la division de 2 entiers et donc donne 0
Pour obtenir 0.5, il faut caster, essaie :
Code : Tout sélectionner
double essai = (double)2/4;
Code : Tout sélectionner
float essai = (float)2/4;
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
Pourquoi je n'arrive pas à me remettre aux PIC
- F6FCO
Expert- Messages : 1417
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
On a posté en même temps mais je te remercie pour ta réponse Claudius, expliqué comme çà c'est clair. Mais çà me montre bien comme je suis perfectible en C
Au départ c'est des calculs trigo assez complexes qui ne donnaient rien de valable au final, genre un cosinus d'une valeur de 1263811 , après avoir déniché le pourquoi j'avais simplifié la chose pour poser ma question ici.
Au départ c'est des calculs trigo assez complexes qui ne donnaient rien de valable au final, genre un cosinus d'une valeur de 1263811 , après avoir déniché le pourquoi j'avais simplifié la chose pour poser ma question ici.
Pourquoi je n'arrive pas à me remettre aux PIC
- Claudius
Passionné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
En effet, c'est une spécification du Langage C ;-)
Cf. Les conversions explicites : l'opérateur de cast
Cf. Les conversions explicites : l'opérateur de cast
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
Pourquoi je n'arrive pas à me remettre aux PIC
- F6FCO
Expert- Messages : 1417
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
J'ai pas mal bidouillé avant de poser la question et je pensais bien diviser des doubles mais çà ne marchait pas:
J'ai essayé aussi comme çà
Je pensais bien diviser des doubles de cette façon puisque le compil acceptait toutes ces syntaxes, mais çà ne fonctionnait pas.
Edit:après lecture ton lien répond à toutes ces questions.
Code : Tout sélectionner
int xx=0;
int r=0;
double cosinus=0;
xx=val1;
r=val2;
xx=(double)xx;
r=(double)r;
cosinus=xx/r;
J'ai essayé aussi comme çà
Code : Tout sélectionner
cosinus=(double)xx/(double)r;
Code : Tout sélectionner
cosinus=(double)(xx/r);
Je pensais bien diviser des doubles de cette façon puisque le compil acceptait toutes ces syntaxes, mais çà ne fonctionnait pas.
Edit:après lecture ton lien répond à toutes ces questions.
Pourquoi je n'arrive pas à me remettre aux PIC
- Claudius
Passionné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Une petite remarque au sujet de l'initialisation d'un double ou d'un flottant :
Il faut mieux définir la constante avec le caractère '.' :
Code : Tout sélectionner
double cosinus=0;
Il faut mieux définir la constante avec le caractère '.' :
Code : Tout sélectionner
double cosinus=0.0;
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
Pourquoi je n'arrive pas à me remettre aux PIC
- F6FCO
Expert- Messages : 1417
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
Comme çà on est sur que c'est un double. Après ton explication j'ai vu çà sur d'autres codes pour que le zéro ne soit pas pris pour un entier.
Genre pour passer de radians en degrés
Quand on est un bébé en C il y a pas mal de moyens de se tirer les cheveux pour des détails
Genre pour passer de radians en degrés
Code : Tout sélectionner
angle=acos(cosinus)*180.0/PI;
Quand on est un bébé en C il y a pas mal de moyens de se tirer les cheveux pour des détails
Pourquoi je n'arrive pas à me remettre aux PIC
- F6FCO
Expert- Messages : 1417
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
Plutôt que mon blabla un peu touffu voici une explication plus claire de ce qu'est Codingame (nota: je n'ai pas d'action chez eux mais c'est tellement géant et passionnant comme concept que je voulais vous le faire connaître):
CodinGames est un ensemble de défis de programmation présentés sous forme de jeux. Certains d'entre eux sont des énigmes. Parfois, il faut battre une IA. Dans d'autres, vous êtes en concurrence avec des robots écrits par d'autres utilisateurs. Il existe de nombreux défis et énigmes avec différentes difficultés et couvrant différents domaines. Ils ont tous une chose en commun. Vous devez guider votre ou vos héros en écrivant un bot.
"IA": intelligence artificielle
"bot" robot virtuel
CodinGames est un ensemble de défis de programmation présentés sous forme de jeux. Certains d'entre eux sont des énigmes. Parfois, il faut battre une IA. Dans d'autres, vous êtes en concurrence avec des robots écrits par d'autres utilisateurs. Il existe de nombreux défis et énigmes avec différentes difficultés et couvrant différents domaines. Ils ont tous une chose en commun. Vous devez guider votre ou vos héros en écrivant un bot.
"IA": intelligence artificielle
"bot" robot virtuel
Pourquoi je n'arrive pas à me remettre aux PIC
Pourquoi je n'arrive pas à me remettre aux PIC
- F6FCO
Expert- Messages : 1417
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
Un projet intéressant serait de se faire son propre FPU perso, juste un petit truc simple. Par exemple pour ma petite CNC j'ai utilisé des tables trigo précalculées avec une routine qui calcule tan() et atan(). Je verrai bien un petit 16F88 en // avec le PIC principal pour faire les calculs de trigo que j'utilise le plus souvent dans mes montages de petite robotique. La forme de dialogue entre les deux PIC reste à déterminer.
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 111 invités