Accueil > Forum > > > > [Debutant C ] Modifier un bit dans une variable
[Debutant C ] Modifier un bit dans une variable
jeudi 15 avril 2004 à 13:54:59 |
[Debutant C ] Modifier un bit dans une variable

GentooUser
|
Salut, Voila j'ai une variable de type BYTE (unsigned char) donc 8bits, et j'aimerai pouvoir définir à 1 ou 0 chaque bits de la variable independement. Pour les lires j'utilise une macro #define BIT(v, i) ((v) & (0x80 >> (i)) ? 1 : 0 qui marche Mais pour les ecrires ? -------------------------------------------------------------------------------- Microsoft: Créateur de bugs depuis 1978
|
|
jeudi 15 avril 2004 à 14:11:24 |
Re : [Debutant C ] Modifier un bit dans une variable

BruNews
|
OR (|) ou bien AND (&).
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 15 avril 2004 à 14:43:03 |
Re : [Debutant C ] Modifier un bit dans une variable

GentooUser
|
C'est ce que je fait
#define SET_BIT(v, b) (v) = ((v) & 0xFFFF) | (1 << (b)) pour definir un bit à 1 et ca marche, mais pour le mettre à 0 c'est plus dur.
Pour mettre à 0 le sixième bit par exemple, si j'utilise un masque 0xFFF8, ça marche mais ça efface aussi les bits 7 et 8
------------------------------------------------------------------------------------------------- Microsoft: Créateur de bugs depuis 1978
|
|
jeudi 15 avril 2004 à 14:46:55 |
Re : [Debutant C ] Modifier un bit dans une variable

BruNews
|
var |= value;
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 15 avril 2004 à 15:21:41 |
Re : [Debutant C ] Modifier un bit dans une variable

GentooUser
|
Desolé je dois être un gros boulet mais j'y arrive pas :(
Y'a pas un lien sur un cour bien expliqué sur le sujet ?
-------------------------------------------------------------------------------- Microsoft: Créateur de bugs depuis 1978
|
|
jeudi 15 avril 2004 à 15:24:24 |
Re : [Debutant C ] Modifier un bit dans une variable

BruNews
|
Mais te suffit d'enlever le masque AND que tu fais au debut. Ce AND masque les bits, n'a donc rien a faire ici.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 15 avril 2004 à 16:35:04 |
Re : [Debutant C ] Modifier un bit dans une variable

GentooUser
|
J'ai essayé : #define SET_BIT(v, b, x) (v) = ((v) |= (x) << (b)) Mais toujour le même pb (ça marche pour mettre le bit à 1, mais pas à 0)
Merci quand même
-------------------------------------------------------------------------------- Microsoft: Créateur de bugs depuis 1978
|
|
jeudi 15 avril 2004 à 16:42:30 |
Re : [Debutant C ] Modifier un bit dans une variable

BruNews
|
normal, regarde la table de BOOL. Pour mettre a ZERO c'est le AND avec un mask, ce que tu avais mis precedemment.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 15 avril 2004 à 17:17:30 |
Re : [Debutant C ] Modifier un bit dans une variable

GentooUser
|
BruNews -> Merci ça marche  BjarneStroustrup -> no comment... -------------------------------------------------------------------------------- Microsoft: Créateur de bugs depuis 1978
|
|
Cette discussion est classée dans : variable, modifier, debutant, bit
Répondre à ce message
Sujets en rapport avec ce message
récupérer chaque bit d'une variable binaire [ par nixon666 ]
BJJe me pause une question dans un programme de supervision utilisant le language C : pour ceux qui connaissent il s'agit du programme WinCC. Dans ce
modifier le nb de bit par pixel [ par Adeon ]
Salut, ca va faire presque un an que je programme en api et je commence tout juste a comprendre le vrai fonctionnement des bitmaps. avant je fesais de
question debutant sur un pb de tableau [ par skyman272 ]
j'ai 5 variable char qui s'appelle : membre1 &nb
Modifier une variable environnement user ? [ par chuckboy ]
BonjourLa question est dans le titre !J'ai une variable d'environnement utilisateur que j'aimerais modifier à partir mon programme comment puis-je fai
[DEBUTANT C] Modifier fichier texet [ par JeanMarcP ]
BonjourJ'ai besoin, sur un vieux PC sous DOS, de modifier un fichier texte de la façon suivante :Entre les 23ème et 24ème virgule, je dois ajouter le
donnee type double [ par totoscill ]
Bonjour, Je dois manipuler des données de type double mais je ne sais pas du tout comment est géré un type double (à part qu'il est codé sur 64 bit a
passage par reference [ par jfk20004 ]
je ne comprends pas le principe qui consiste à pouvoir modifier une variable par un passage par reference.Une variable n'est elle pas comme son nom le
Changer la valeur d'une variable dans un exe [ par scolinks ]
Salut,Je me demandait si c'est possible de changer la valeur d'une variable qui se trouve dans un exe...Par example dans mon exe j'ai:int s;s = 5;</
calul de timing sur com Rs232 (VC++ et asm) [ par oliviez123 ]
bonjour voila mon problèmeje voudrai connaitre (par mesure) le temp entre 2 byte reçu:Déclencher un compteur sur le stop bit et l'arreter sur le star
Pb d'écriture en binaire (fichier [ par paulo46 ]
Bonjour,le problème se passe lorsque je veux modifier une entree dans le fichier (entrée sous la forme d'une struct).Le fichier est constitué de la mê
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|