<< et >> [C++ Opérateur bit à bit] - Programmation
Marsh Posté le 10-03-2002 à 01:40:45
trueslash a écrit a écrit : voilà le problème, je récupère un octet qui code deux valeurs entières: NoImmat sur les 4 bits de poids forts et NoPlace sur les 4 bits de poids faible. J'ai créé la struct suivante: typedef struct {unsigned noImmat :4; unsigned noPlace :4;} retourVoitureGaree; pour récuperer NoImmat, c facile: retourVoitureGaree compteRendu; compteRendu.noPlace = retour; mais j'arrive pas à récupèrer l'autre ... ça, sa marche pas retourVoitureGaree compteRendu; compteRendu.noImmat = (retour << 4); sa non plus retourVoitureGaree compteRendu; compteRendu.noImmat = (retour >> 4); |
Tente une union:
union {
unsigned char octet;
struct{
unsigned noImmat :4;
unsigned noPlace :4;}
}
[jfdsdjhfuetppo]--Message édité par bilgetz_42--[/jfdsdjhfuetppo]
Marsh Posté le 10-03-2002 à 01:43:45
merci, mais j'ai résolu mon pb, y avait un autre bug tapis dans l'ombre ...
Marsh Posté le 10-03-2002 à 00:46:43
voilà le problème, je récupère un octet qui code deux valeurs entières: NoImmat sur les 4 bits de poids forts et NoPlace sur les 4 bits de poids faible. J'ai créé la struct suivante:
typedef struct {unsigned noImmat :4; unsigned noPlace :4;} retourVoitureGaree;
pour récuperer NoImmat, c facile:
retourVoitureGaree compteRendu;
compteRendu.noPlace = retour;
mais j'arrive pas à récupèrer l'autre ...
ça, sa marche pas
retourVoitureGaree compteRendu;
compteRendu.noImmat = (retour << 4);
sa non plus
retourVoitureGaree compteRendu;
compteRendu.noImmat = (retour >> 4);
[jfdsdjhfuetppo]--Message édité par trueslash--[/jfdsdjhfuetppo]