Bonjour,
je dois pour les cours écrire une fonction qui transforme un entier donné en argument un binaire (sur 1 octet). Hors, j'avais il y a quelques temps déjà utilisé une fonction comme ça, mais à l'époque je n'avais pas pris la peine de la comprendre, car c'était pas vraiment de mon niveau (en fait, je n'avais pas appris le décalage de bits). Bref, un forumeur m'avais donné un bout de code fonctionnel, donc c'était tout bon, mais j'aimerais maintenant qu'on m'aide à le comprendre !
Voilà la fonction en question :
Code :
- public static int[] entierToBinaire(int ent){
- int res[] = new int[8];
- for(int i=0; i<8; i++){
- res[i] = ((ent >> i) & 0x01);
- }
- return res;
- }
- public static void main(String argv[]){
- for(int i=0; i<8; i++){
- System.out.print(entierToBinaire(64)[i]);
- }
- }
- }
|
Je ne comprend vraiment pas le fait, de diviser par une puissance nième de deux à chaque itérations et surtout, le but du ET logique entre le résultat du décalage et 0x01.
Si quelqu'un pouvait m'expliquer, ça serai super !