Bonsoir à tous,
Je me permets de vous poser la question suivante car je bute sur un problème, sans doutes simple, du à mon manque de connaissance du langage C.
Je souhaiterai créer une fonction récupérant les B/2 premier bit d'un unsigned int
tel que B est le nombre de bits du unsigned int.
Par exemple on a :
En entrée 11 qui donne 1011 la fonction devrait alors retourner 0011 c'est à dire 3.
Je ne vois absolument pas comment procéder.
J'ai tout d'abord tenté d'utiliser un masque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
unsigned int bas(unsigned int a){   
     unsigned mask = 0xFF00;
     return ( a & mask ) ;
}
Ce qui est en fait plutôt stupide car cela ne prend pas en compte la taille de l'entrée.
Donc je pensais prendre la partie entière de log(mon_int)/log(2)
pour connaître le nombre de bit de mon_int. Mais je ne sais toujours pas comment
récupérer la partie basse de cet unsigned int...
Merci par avance de votre aide et n'hésitez surtout pas à me demander des information supplémentaires..