Manipulation de variables
Résolu
pierrotlecelte
Messages postés
4
Statut
Membre
-
pierrotlecelte Messages postés 4 Statut Membre -
pierrotlecelte Messages postés 4 Statut Membre -
Bonjour bonjour,
Je voudrais pouvoir manipuler les bits d'un integer.
Je sais, par ex, que :
int var;
var.1 = 1;
correspond à mettre le deuxieme bit de la variable var de type int à 1, sans toucher aux autres bits de cette meme variable.
Maintenant je voudrais savoir si on peut passer le numéro de bit à traiter, en argument; de cette maniere par ex:
int var;
bit a;
for (i=0,;i<16; i++) {
var.i = a;
}
Bon cette ecriture ci ne fonctionne pas en fait, donc je voudrais savoir si premierement c'est possible et comment l'ecrit on ?
J'espere ne pas avoir été trop brouillon dans mes explications.
Merci
Je voudrais pouvoir manipuler les bits d'un integer.
Je sais, par ex, que :
int var;
var.1 = 1;
correspond à mettre le deuxieme bit de la variable var de type int à 1, sans toucher aux autres bits de cette meme variable.
Maintenant je voudrais savoir si on peut passer le numéro de bit à traiter, en argument; de cette maniere par ex:
int var;
bit a;
for (i=0,;i<16; i++) {
var.i = a;
}
Bon cette ecriture ci ne fonctionne pas en fait, donc je voudrais savoir si premierement c'est possible et comment l'ecrit on ?
J'espere ne pas avoir été trop brouillon dans mes explications.
Merci
2 réponses
-
Pour manipuler les bits il faut utiliser les décalages.
Pour donc exemple ça donnerait :
int var=1; // la variable à modifier
int positionbit=1; // la position du bit à modifier
var |= positionbit << 1; // on fait var OU (une chaine de zéro avec just ele bit positionbit à 1)
Je sais pas si ça t'éclaire mais ça fonctionne bien comme ça. Opération logique + décalages. -
Super !! Merci de ton aide !!
J'ai utilisé ta méthode avec les opérateurs logiques + décalages (non sans mal d'ailleurs, je suis novice :-) !! ) et ca marche nickel !!
Merci beaucoup