Bonjour,
Je voudrais convertir un tableau de int en binaire, puis le convertir en booléen avec true pour 1 et 0 pour false. Mais je n'ai absolument aucune idée de comment ?
Quelqu'un peut-il m'aider ?
Version imprimable
Bonjour,
Je voudrais convertir un tableau de int en binaire, puis le convertir en booléen avec true pour 1 et 0 pour false. Mais je n'ai absolument aucune idée de comment ?
Quelqu'un peut-il m'aider ?
Voir la javadoc
Salut,
Le type int en Java est codé sur 4 octets. Convertir un tableau de int, c'est donc créer un tableau de byte de 4 fois la taille du tableau de int. Puis copier chaque octet de chaque int dans chaque case du tableau correspondant.
On peut obtenir un des octets d'un int par décalage, sauf pour l'octet de poids faible, (à droite) pour obtenir l'octet voulu, puis en masquant par AND à 0xFF pour récupérer la valeur.
Ensuite, pour traduire le tableau de byte en tableau de booléen, on va créer un tableau de booléen de 8 fois la taille du tableau de byte, puisque un octet prend 8 bits. On peut aussi procéder par décalage et masquage pour récupérer les valeurs de bits, à comparer à 0 ou 1 pour déterminer la valeur booléenne correspondant.
Décaler va se faire avec l'opérateur >> et le masquage par l'opérateur &.