Tableau sous Javascool.
lamedudragon
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Dans le cadre de l'ISN, je dois constituer une petit programme visant à retrouver le codage binaire d'un caractère, notamment grace au code ASCII.
Voila un début de programme:
void main(){
clear();
char a;
int b;
a=readChar();
b=a;
print(a+"=");
println(b);
int reste;
int squares[] = new int[1];
int c=0;
int w=0;
for(int p = 0; p <8; p++) {
reste =b%2;
b=b/2;
w=c+1;
for(int i = 0; i <squares.length; i++) {
squares[i] = reste;
}
for(int i = 0; i <squares.length; i++) {
println("bit N°"+w+" = "+squares[i]);
}
println(reste);
c=c+1;
}
}
Mon probleme est que le code est inversé et qu'il me semble que le tableau ne sauvegarde qu'une unique valeur.
Des idées?
Dans le cadre de l'ISN, je dois constituer une petit programme visant à retrouver le codage binaire d'un caractère, notamment grace au code ASCII.
Voila un début de programme:
void main(){
clear();
char a;
int b;
a=readChar();
b=a;
print(a+"=");
println(b);
int reste;
int squares[] = new int[1];
int c=0;
int w=0;
for(int p = 0; p <8; p++) {
reste =b%2;
b=b/2;
w=c+1;
for(int i = 0; i <squares.length; i++) {
squares[i] = reste;
}
for(int i = 0; i <squares.length; i++) {
println("bit N°"+w+" = "+squares[i]);
}
println(reste);
c=c+1;
}
}
Mon probleme est que le code est inversé et qu'il me semble que le tableau ne sauvegarde qu'une unique valeur.
Des idées?
A voir également:
- Tableau sous Javascool.
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
1 réponse
"Mon probleme est que le code est inversé"
Non, c'est normal de lire les bits de droite à gauche.
"il me semble que le tableau ne sauvegarde qu'une unique valeur."
C'est parce que tu as déclaré ton tableau de taille 1 : int squares[] = new int[1];
"Des idées?"
Change la taille de ton tableau et remplis le en prenant en compte que tu obtiens les bits de droite en premier, mais enlèves tes deux boucles for i, elles sont fausses.
Remarque : en Java les caractères sont codés en UTF-16, pas en ASCII. Tu peux donc avoir jusqu'à 16 bits à représenter, pas 8 (essayes le caractère '€' par exemple).La confiance n'exclut pas le contrôle
Non, c'est normal de lire les bits de droite à gauche.
"il me semble que le tableau ne sauvegarde qu'une unique valeur."
C'est parce que tu as déclaré ton tableau de taille 1 : int squares[] = new int[1];
"Des idées?"
Change la taille de ton tableau et remplis le en prenant en compte que tu obtiens les bits de droite en premier, mais enlèves tes deux boucles for i, elles sont fausses.
Remarque : en Java les caractères sont codés en UTF-16, pas en ASCII. Tu peux donc avoir jusqu'à 16 bits à représenter, pas 8 (essayes le caractère '€' par exemple).La confiance n'exclut pas le contrôle