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?
Désolé pour l'indentation mais elle disparait lorsque je copie/colle mon code :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Partager