begin process at 2012 05 30 14:04:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

MFC

 > 

Programmation C : 2 unsigned char dans 1 unsigned int.


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

Programmation C : 2 unsigned char dans 1 unsigned int.

vendredi 7 mai 2010 à 12:19:13 | Programmation C : 2 unsigned char dans 1 unsigned int.

romain60112

Bonjours a tous,

J'ai un petit soucis pour stocker 2 unsigned char dans 1 unsigned int.
Je dispose de :
un tableau d'unsigned int :
unsigned int configuration[10];

La structure du programme est la suivante :
#define mask_L 0x00FF
#define mask_H 0xFF00
unsigned int configuration[10];
void main ()
{
if(compteur == 1) // chaque seconde on vient incrémenter le tableau unsigned int
{
switch (cas)
{
case 1 :
configuration[0]&mask_L++; // <- Erreur, je ne sais pas comment faire sa
if((configuration[0]&mask_L) == 255)
{
(configuration[0]&mask_L) = 0;
((configuration[0]&mask_H)>>8)++; // <- Erreur, je ne sais pas comment faire sa

if(((configuration[0]&mask_H)>>8) == 255)
{
(configuration[0]&mask_L) = 0;
((configuration[0]&mask_H)>>8)=0;
configuration[1]&mask_L++; // <- Erreur, je ne sais pas comment faire sa
if((configuration[1]&mask_L) == 255)
{ // Full = 16777215s = 4660heures
}
}
}

case 2 :

((configuration[1]&mask_H)>>8)++; // <- Erreur, je ne sais pas comment faire sa
if(((configuration[1]&mask_H)>>8) == 255)
{
((configuration[1]&mask_H)>>8) = 0;
(configuration[2]&mask_L)++; // <- Erreur, je ne sais pas comment faire sa

if((configuration[2]&mask_L) == 255)
{
(configuration[2]&mask_L) = 0;
((configuration[2]&mask_H)>>8)++; // <- Erreur, je ne sais pas comment faire sa

if(((configuration[2]&mask_H)>>8)== 255)
{ // Full = 16777215s = 4660heures
}
}
}
case 3 : ...

}
}

Merci de votre aide.

Cordialement

Romain
vendredi 7 mai 2010 à 15:40:52 | Re : Programmation C : 2 unsigned char dans 1 unsigned int.

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Je fais sur du INT32 (unsigned int).

typedef union _DWPERSO {
struct {
WORD l;
WORD h;
};
DWORD val;
} DWPERSO;

void tstUnion()
{
char buf[24], *c;
DWPERSO dw[2];
// INIT LES 2 a 0
dw[0].val = 0;
dw[1].val = 0;


dw[0].h++; // INCREM PARTIE HAUTE DU 1er
dw[1].l--; // DECREM PARTIE BASSE DU 2eme

// AFFICHAGE PERSO DE TEST
c = bnultoa(dw[0].val, buf);
*c++ = 10;
*bnultoa(dw[1].val, c) = 0;
MessageBox(0, buf, szappname, 0);
}


ciao...
BruNews, MVP VC++
lundi 10 mai 2010 à 18:01:44 | Re : Programmation C : 2 unsigned char dans 1 unsigned int.

romain60112

Avec mon compilo C j'ai un soucis :

typedef union _CFG {
struct {
unsigned char l;
unsigned char h;
}; // W1183C: invalid struct/union member declaration: name required
unsigned int val;
} CFG;

CFG config[TailleTab];
...
Mafonction()
{
config[0].l++; // E4138C: field `l' is undefined in `CFG': operator `.'
if(config[0].l == full_char) // E4138C: field `l' is undefined in `CFG': operator `.'

{ config[0].h++;
config[0].l=0;
if(config[0].h == full_char)
{ config[0].l=0;
config[0].h=0;
config[1].l++;
}
}
configuration[0] = config[0].val;
configuration[1] = config[1].val;
}

Comment résoudre le problème ?
Merci
Cordialement
Romain
lundi 10 mai 2010 à 19:57:42 | Re : Programmation C : 2 unsigned char dans 1 unsigned int.

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Mets un nom sur la struct:
typedef union _CFG {
struct {
unsigned char l;
unsigned char h;
} PART;
unsigned int val;
} CFG;

CFG config[TailleTab];
Tu accèderas par:
config[0].PART.l

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : int, mask, char, configuration, unsigned


Répondre à ce message

Sujets en rapport avec ce message

transformer un tableau 2d en image bitmap [ par gyzmo1 ] Bonjour a tous, voilà mon problème, je suis en train de mettre en place une méthode de comparaison de signature manuscrites. Cette méthode s applique comment afficher un pixel en VGA ? [ par LedPaL ] Slt,je programme ac dev-cpp et j'arrive pas a afficher de pixels a l'écran !!! de l'aide plz !!voici un bout de ma source:unsigned char * ecran = (uns Comment forcer le RTS pour une liaison RS232 [ par ancat ] Bonjourje viens de faire un petit prog (grandement inspire de sources du site) mais je ne saisis pas trop le controle du RTS.Celui ci est-il traite pa Pointeurs et Desallocation [ par gilimcce ] Bonjour à tous....je declare une fonctionloadJpegImage(char *, unsigned char*, int*, int*)1e parametre : le chemin de l'image chargee2e // Problème en tête bitmap [ par piroman14 ] Slt tt le monde!Je rencontre un petit problème dans mon algorithme. En effet, je n'arrive pas à coder l'en-tête d'une image bitmap correctement. J'obt c++ [ par gilles8111 ] salut,je suis débutant en c++,j'ai jusqu'ici toujours programmé en java. Mon problème est le suivant: j'ai implémenté une classe CSpieler dont le cons SDL et windows.h sous sygwin [ par agent933 ] salut je travaille en ce moment sur un programme en langage.grosso modo jutilise le port serie pour recevoir donnees et ensuite utilise une interface convertsion int en unsigned char [ par avg ] Salut tout le monde j'ai une souci pour convertir un int en unsigned char[] voir le code c++ qui affiche l'erreur [code=cpp]int a=100; unsigned char Tableaux - Gestion dynamique de la mémoire [ par Smanyx ] Salut ! Je voudrais écrire un programme qui accepte des noms saisis au clavier et les amasse dans un tableau. Comme les noms sont entrés dans un bouc besoin d'aide sur un programme en C éxécutable mais qui se bloque au début " recherche et affichage de palindromes " [ par nirvanitta ] salut tous le monde Mon programme consiste a ouvrir un fichier et chercher tous les palindromes et les afficher avec leurs numéros de lignes et leurs


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 3,838 sec (3)

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