salut les .neteux
j'ai un code en c# à porter en C, et he voulais demander la signification du code suivant (en fait juste la signification des >> et du &)
merciCode:
1
2
3
4
5
6
7
8
9 if (a == 0) { val = arr[i] >> 4; } else { val = arr[i] & 15; }
Version imprimable
salut les .neteux
j'ai un code en c# à porter en C, et he voulais demander la signification du code suivant (en fait juste la signification des >> et du &)
merciCode:
1
2
3
4
5
6
7
8
9 if (a == 0) { val = arr[i] >> 4; } else { val = arr[i] & 15; }
Bonjour.
>> et & sont des opérateurs binaires, le >> fait des décalages de bits vers la droite et le & un et. Mais dans ton cas, sans la valeur de arr[i], impossible de te dire quelle valeur tu vas obtenir pour val.
Un bon tuto ici.
Bon courage ;)
>> 4 c'est un décalage à droite de 4
& 15 est un "et" logique entre un nombre et un autre
exemple : 8 >> 1 = 4 parce que 1000 = 8 et 0100 = 4
A noter que le bout de code que tu poste se compile directement en C sans modif (sous réserve des types des variables).
okay, merci à tous. Ya pas qu'en c# que je suis néophyte à vue de nez. J'ai l'impression d'être le dernier du roi des cons.