[bit]Mettre un mot de 16 bits (string) en short
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
Code:
short monInstruction = convertToShort("1010110101001010");
Voila. Je galère depuis des heures et en faisant un truc du genre :
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
|
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;
} |
Mais mon ami le compilo aime pas et en plus si il passe je trouve des valeurs abérentes.
Merci d'avance[/quote]