Menu

Algorithme qui convertit lis nombre entiers [Fermé]

mimi - 8 déc. 2011 à 17:38 - Dernière réponse : leen.net 213 Messages postés lundi 31 janvier 2011Date d'inscription 14 mai 2014 Dernière intervention
- 14 déc. 2011 à 20:50
Bonjour,
j'ai un problème dans l'algorithme je ne sais pas comment je fait pour convertire les nombre à ca algorithme.

Écrire la algorithme qui convertit lis nombre entiers de 32 à 64 en binaire .en décimal codé binaire (DCB) puis en hexadécimal

En décimal codé en binaire (DCB) ; chaque chiffre décimal est écrit en binaire sur 4 bits-

Exemples (147)10=(0001 0100 0111)BCD et (23.15)10=(0010 00110,0001 0101 )
Afficher la suite 

5 réponses

leen.net 213 Messages postés lundi 31 janvier 2011Date d'inscription 14 mai 2014 Dernière intervention - 8 déc. 2011 à 22:36
0
Merci
premièrement, tu dois faire une loop ( for ) pour incrémenter de 32 a 64
et dans cette loop tu dois utiliser une autre ( while ) , dans laquelle on trouve la plus grande puissance de 2 plus petit au nombre choisi dans (for), et on soustrait ce puissance du nb, tout en enregistrant le puissance pour savoir s'il s'agit de 1 ou de 0, et chaque fois qu'on finit (while), on imprime le nb binaire obtenu......
si tu n'as pas compris, je pourrais t'aider d'avantage
Merci pour l'aide, mais je ne comprenais pas.Donnez-moi un exemple, si vous permettez
leen.net 213 Messages postés lundi 31 janvier 2011Date d'inscription 14 mai 2014 Dernière intervention - 12 déc. 2011 à 16:49
0
Merci
c'est l'algorithme avec la sortie et ça marche correctement


public class decimal {
public static void main(String[] args) {
int i,j;
double k;
String s;
for (i=32; i<=64; i++)
{
s="";
k=i;
j=7;
while (j>-1)
{
if (Math.pow(2,j)>k)
{
s=s+'0';
}
else
{
s= s + '1';
k=k-Math.pow(2, j);
}
j--;
}
System.out.println(i+"(10) = "+ s + " (2)");
}
}
}


32(10) = 00100000 (2)
33(10) = 00100001 (2)
34(10) = 00100010 (2)
35(10) = 00100011 (2)
36(10) = 00100100 (2)
37(10) = 00100101 (2)
38(10) = 00100110 (2)
39(10) = 00100111 (2)
40(10) = 00101000 (2)
41(10) = 00101001 (2)
42(10) = 00101010 (2)
43(10) = 00101011 (2)
44(10) = 00101100 (2)
45(10) = 00101101 (2)
46(10) = 00101110 (2)
47(10) = 00101111 (2)
48(10) = 00110000 (2)
49(10) = 00110001 (2)
50(10) = 00110010 (2)
51(10) = 00110011 (2)
52(10) = 00110100 (2)
53(10) = 00110101 (2)
54(10) = 00110110 (2)
55(10) = 00110111 (2)
56(10) = 00111000 (2)
57(10) = 00111001 (2)
58(10) = 00111010 (2)
59(10) = 00111011 (2)
60(10) = 00111100 (2)
61(10) = 00111101 (2)
62(10) = 00111110 (2)
63(10) = 00111111 (2)
64(10) = 01000000 (2)
BUILD SUCCESSFUL (total time: 1 second)
merci ,mais pour les bas décimal codé binaire (DCB) et hexadécimal .comment je fais
leen.net 213 Messages postés lundi 31 janvier 2011Date d'inscription 14 mai 2014 Dernière intervention - 14 déc. 2011 à 20:50
je pense que ton tête ne fonctionne pas :P:P
remplace la base 2 dans l'algorithme par la base 16