Bijour,
Voila j'ai un petit projet en Architechture des ordinateur, et je travaille donc avec des micro instructions sur 16 bits
Mon problème est que je dois traiter un mot binaire sous forme de string et le mettre dans une variable de type short; Ce que je voudrait c'est donc faire une methode qui fasse un truc du genre
Voila. Je galère depuis des heures et en faisant un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part short monInstruction = convertToShort("1010110101001010");
Mais mon ami le compilo aime pas et en plus si il passe je trouve des valeurs abérentes.
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 public short convertir(String monMot) { short bit; short res = 0; boolean neg = false; //Est t'il sur 16 bits? if (monMot.length() != 16) { System.out.println("Erreur le mot doit etre sur 16 bits"); return 0; } //Voyons deja s'il est négatif if (monMot.charAt(0) == '1') neg = true; //Testons le bit a bit for (bit = 0; bit < 15; bit++) { if (monMot.charAt(15 - bit) == '1') { res = puissDeDeux(bit); } } return res; } public short puissDeDeux(short i) { short cpt = 1; short res = 2; if (i == 0) return (short) 1; for (cpt = 0; cpt < i; cpt++) { res *= 2; } return res; }
Merci d'avance[/quote]
Partager