Algorithme qui convertit lis nombre entiers

mimi -  
leen.net Messages postés 247 Statut Membre -
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 )

2 réponses

  1. leen.net Messages postés 247 Statut Membre 13
     
    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
    0
    1. mimi
       
      Merci pour l'aide, mais je ne comprenais pas.Donnez-moi un exemple, si vous permettez
      0
  2. leen.net Messages postés 247 Statut Membre 13
     
    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)
    0
    1. mimi
       
      merci ,mais pour les bas décimal codé binaire (DCB) et hexadécimal .comment je fais
      0
    2. leen.net Messages postés 247 Statut Membre 13
       
      je pense que ton tête ne fonctionne pas :P:P
      remplace la base 2 dans l'algorithme par la base 16
      0