
Bonjour à tous,
voilà, mon problème est dans le titre, c'est très simple mais ca marche pas....

par ex: un int = 170, en base 2, ca s'écrit: 10101010, je souhaite créer une fonction:
boolean resultat[8] = abracadabra(byte nombre) ou
boolean resultat = schtroumpf(byte nombre, int position),
où bien sûr:
{true,false,true,false,true,false,true,false,true,false} = abracadabra(170).
===========================================
voilà un truc que j'ai essayé de faire:
Mon idée était de diviser par 2 successivement un nombre. Si le résultat est pair, j'en déduit que le LSB vaut 1.
public boolean toBool(byte nombre,int pos) { boolean result; int val= pos %8; // etre sur que l'on est sur un octet val = (int)Math.pow((double)2,(double)pos); // on en déduit la division à faire. //System.out.println("val : " + val); if (((nombre / val)%2) == 0) result = false; else result = true; return result; }
|
Bon, je suis sur que c'est une très mauvaise idée et qu'en passant par une chaine de caractère d'un byte formaté en binaire, (vous voyez ce qu je veux dire?), j'obtiendrai de meilleurs résultats (forcément parce que mon truc acutel, ben il déconne

). Et p'tet même qu'il existe une fonction très pratique dans JAVA pour le faire.
Ayé, j'ai fini de poser ma question. Merci de m'avoir lu (et de m'avoir peut-être répondu

).
Signé: Egalon qui comprend difficilement