je ne comprend pas ce qu' on veut faire, lorsque on ecrit ceci :![]()
tab[i] & 0xFFFF
quel qu'un peut m'expliquer s'il vous plait !!!
Merci d'avance pour votre aide
je ne comprend pas ce qu' on veut faire, lorsque on ecrit ceci :![]()
tab[i] & 0xFFFF
quel qu'un peut m'expliquer s'il vous plait !!!
Merci d'avance pour votre aide
un & logique de la valeur contenue dans tab[i] avec 0xffff
mais je ne vois pas l'interet comme cela
car ca retournera la valeur de tab[i] puisque tu fais un Et qu'avec des 1
deeal
Oui, à mon sens, ce bout de code ne fait que retourner tab[i]. Je n'y voit donc aucun intérêt, mais je n'ai peut-être pas l'expertise adéquate et je manque peut-être quelque chose.
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
tab[i] peut faire plus de 16 bits... l'expression ne retourne que les bits de poids faibles. A noter qu'il vaut mieux utiliser des unsigned quand on travaille avec les operateurs binaires.
Et que je n'y avais même pas pensé. Merci Jean-Marc
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Ben ça dépend de la valeur de tab[i]. Tout ce qu'on peut dire, c'est que les bits de poids forts (16 et plus) seront mit à 0.Envoyé par deeal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h> int main (void) { unsigned long x = 0xFFFFFFFFul; printf ("x = %08lX\n", x); printf ("x = %08lX\n", x & 0xFFFFul); return 0; }x = FFFFFFFF
x = 0000FFFF
Press ENTER to continue.
Partager