Forum dédié aux énigmes et à toutes formes de jeux de logique. | Déconnexion |
Tu n'es pas identifié sur Prise2tete : s'identifier. |
Écrire une réponseRésumé de la discussion
Après avoir lu l’énigme précédente, un programmeur malin se dit: « tiens, on m’a demandé une fonction qui renvoie 0 si le nombre de bits à 1 est pair et 1 sinon, je vais m’en inspirer ». C’est, autrement dit, une fonction qui renvoie le résultat du popcount précédent, modulo 2: il pense d’abord à rajouter un « & 1 » tout à la fin, ce qui lui garantit un résultat correct et somme toute assez rapide. Code:int parity(unsigned long number) { return (number * 0xFFFFFFFFFFFFFFFF) >> 63; } Ainsi, tous les bits se retrouvent additionnés au niveau du tout premier bit, ok ça déborde mais c’est pas grave il ne lui faut que le bit de poids faible donc ça passera. |
||
Prise2Tete Forum Statistiques Liste des membres Hall of Fame Contact |