lectpe
Messages postés162Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention17 juillet 2010
-
30 oct. 2009 à 20:05
lectpe
Messages postés162Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention17 juillet 2010
-
31 oct. 2009 à 14:08
Bonjour.
J'ai créé une structure représentant une fonction mathématique dans laquelle est défini une variable "Domain" qui correspond au type de la fonction qui permet de la classer selon différentes catégories.
Ces catégories sont :
Fonctions de bases (puissance, factorielle, exponentielle, inverse...)
Fonctions particulières (indicatrice d'Euler)
Fractions (mise en fraction, simplification de fraction...)
Paire de nombres (PGCD, PPCM...)
Primalité (décomposition en facteurs premiers...)
Statistiques (moyenne, écart-type, variance...)
Trigonométrie (cosinus, sinus, tangente, cosinus hyperbolique...)
Le problème est que l'une des fonctions que j'ai implémentée qui sert à vérifier si deux nombres sont premiers entre eux se trouve dans deux catégories : Primalité et Paire de nombres.
Ma structure étant définie ainsi :
typedef struct
{
...
int Domain;
...
}FUNCTION;
Chaque catégorie correspondant à un "int", je ne peux pas mettre les deux catégories dedans, je ne peux en mettre qu'une seule.
Je voudrais pouvoir faire comme lorsque l'on déclare les styles dans la fonction CreateWindow par exemple avec WS_CHILD | WS_VISIBLE.
Je voudrais donc savoir s'il serait possible de remplacer le type "int" par un autre afin de pouvoir ranger soit un, soit deux, soit plusieurs types dans la variable associée à ce type. (deux ça me suffirait pour l'instant)
En espérant votre aide au plus vite, je vous remercie par avance.
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 31 oct. 2009 à 12:38
Brunews vient de te répondre, et t'en a expliquer le principe.
On peut mettre plusieurs valeurs dans une variable en utilisant une astuce avec des décalage de bits.
1, 2, 4, 8, 16
Option = 6
WS_INIT: Non
WS_CHILD: OK
WS_VISIBLE: OK
WS_ONTOP: Non
WS_POUET: Non
Option = 1
WS_INIT: OK
WS_CHILD: Non
WS_VISIBLE: Non
WS_ONTOP: Non
WS_POUET: Non
Option = 21
WS_INIT: OK
WS_CHILD: Non
WS_VISIBLE: OK
WS_ONTOP: Non
WS_POUET: OK
Option = 31
WS_INIT: OK
WS_CHILD: OK
WS_VISIBLE: OK
WS_ONTOP: OK
WS_POUET: OK
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 oct. 2009 à 20:36
Le 'style' d'une fenetre n'est qu'un INT, pas une structure. On remplit ses bits par des OR, voila tout.
Pour résumer, style ne peut contenir que 32 styles, différents ou combinés.
Si tu considères par contre Domain sur sa valeur et non ses bits, tu peux y mettre plus de 4 milliards de possibilités de choix.
lectpe
Messages postés162Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention17 juillet 20103 30 oct. 2009 à 21:51
Merci d'avoir répondu.
Le problème, c'est que je voudrais mettre deux valeurs en même temps dans la même variable en les associant avec un OR. Alors je ne sais pas si c'est possible et si ça l'est, je ne sais pas comment faire.
Parce que ça m'embête de créer une deuxième variable, juste pour une seule fonction, mais si c'est la seule solution, bah je ferai ça.