complément à deux d'un nombre binaire
Bonjour,
Voici ma méthode qui a pour but de fournir le complément à deux d'un nombre binaire. Malheureusement, elle ne fournit pas le résultat attendu, et je ne vois pas où est le problème. Je passe mon nombre binaire à la fonction par tableau(chaque cellule du tableau contient soit 1, soit 0) et j'enregistre son complément à deux dans le tableau nbCplt2. Pouvez vous m'aider svp?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| public static int[] opposeBinaire(int[] nb)
{
int i=0;
boolean inverser = false; // indicateur pour savoir quand commencer à inverser les 0 en 1 et 1 en 0
int[] nbCplt2 = new int[nb.length];
int j = 0;
while(j<=nb.length)
{
nbCplt2[j]=0;
j++;
}
while(inverser == false && i<=nb.length)
{
if(nb[i]==1) // on commence à inverser après le 1er un rencontré en partant de la droite
{
nbCplt2[i]=1;
inverser = true;
}
i++;
}
while(i<=nb.length)
{
if(nb[i]==0)
{
nbCplt2[i]=1;
i++;
}
i++;
}
return nbCplt2;
} |
Désolé pour l'indentation mais elle disparait lorsque je copie/colle mon code :s