Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : CONVERSION BINAIRE/HEXA [ Algorithme / Maths ] (alex64100)

vendredi 7 novembre 2008 à 10:43:36 | CONVERSION BINAIRE/HEXA

alex64100

BJR,
je dois développer un prog d e conversion   binaire/héxa
a partir de ce code  :


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


/*  exo 2.B
ecrire un nombre en base 2
mais du dernier   au  premier bit*/

main ()
{
    int n;
    int b;
    int err;
    int l; // longueur de n après changement de base
    int tab[50]; // remplacé par char tab[50];
 
    printf ("Changement de base : base 2 <===> 10 \n\n");
    printf ("Saisir un nombre en base 10 :  ");
    scanf ("%d", &n);
    err = 1;
   
    while (err)
    {
          printf ("Entrer une  base 2 - 10 :  ");
          scanf ("%d", &b);
          err = 0;
         
          if (b < 2 && b > 10)
          {
                printf ("Erreur dans la base\n");
                err = 0;
           };
     };
     l= 0;
   
   
   
    while (n)
    {
     tab[l++]= n%b;
     n/=b;
    
    }
   
     while (l)
     {
           printf ("%c", '0' + tab[--l]);
     }
 
 
     getch();
    
}                                                                                                                              
pouvez vous m'aider svp      


vendredi 7 novembre 2008 à 11:58:10 | Re : CONVERSION BINAIRE/HEXA

fregolo52

Membre Club

Ton a 1er temps, il faut trouver les formules de conversion wikipidia peut t'aider.


vendredi 7 novembre 2008 à 11:59:20 | Re : CONVERSION BINAIRE/HEXA

fregolo52

Membre Club
Oula !! je suis fatigué !!!
je voulais dire :

dans un 1er temps

samedi 8 novembre 2008 à 03:01:34 | Re : CONVERSION BINAIRE/HEXA

Lucky92

Il n'y a pas vraiment besoin d'aller sur wikipédia.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


/*  exo 2.B
ecrire un nombre en base 2
mais du dernier   au  premier bit*/

main ()
{
    int n;
    int b;
    int err;
    int l; // longueur de n après changement de base
    int tab[50]; // remplacé par char tab[50];
 
    printf ("Changement de base : base 2 <===> 16 \n\n");
    printf ("Saisir un nombre en base 10 :  ");
    scanf ("%d", &n);
    err = 1;
   
    while (err)
    {
          printf ("Entrer une  base 2 - 16:  ");
          scanf ("%d", &b);
          err = 0;
         
          if (b < 2 && b > 16)
          {
                printf ("Erreur dans la base\n");
                err = 0;
           };
     };
     l= 0;
   
   
   
    while (n)
    {
     tab[l++]= n%b;
     n/=b;
    
    }
   
     while (l)
     {
           printf ("%x", '0' + tab[--l]);
     }
 
 
     getch();
    
}                     


samedi 8 novembre 2008 à 11:08:26 | Re : CONVERSION BINAIRE/HEXA

alex64100

OK MAIS COMMENT TU FAISLA CONVERSION?

samedi 8 novembre 2008 à 21:47:05 | Re : CONVERSION BINAIRE/HEXA

Lucky92

Quelle que soit la base utilisée, la conversion est faite par le code suivant :

while (n)
{
     tab[l++]= n%b;
     n/=b;
}

chaque élément du tableau tab représente un chiffre du nombre dans la base désirée.

Quant aux fait que 10 s'écrit "a" en hexa, 11 "b", 12  "c", etc. ce n'est que de la représentation, et c'est le printf ("%x") qui s'en occupe.

Finalement, c'est Fregolo52 qui a raison, wikipédia s'impose...

Courage.

dimanche 9 novembre 2008 à 17:01:20 | Re : CONVERSION BINAIRE/HEXA

alex64100

mon code  prend  forme :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>


/*  exo 2.C
ecrire un programme de conversion
décimal hexadécimal*/

main ()
{
    int n;
    int b;
    int err;
    int l; // longueur de n après changement de base
    char tab[50];
 
    printf ("Changement de base : base 2 <===> 16 \n\n");
    printf ("Saisir un nombre en base 10 :  ");
    scanf ("%d", &n);
    err = 1;
   
    while (err)
    {
          printf ("Entrer une  base 2 - 16 :  ");
          scanf ("%d", &b);
          err = 0;
         
          if (b < 2 && b > 16)
          {
                printf ("Erreur dans la base\n");
                err = 0;
           };
     };
     l= 0;
   
   
   
    while (n)
    {
     tab[l++]= n%b;
     n/=b;
    
    }
    switch (n)
    {
           case 10:
           printf (a"A");
           break;          
           case 11:
           printf ("B");
           break;    
           case 12:
           printf ("C");
           break;          
           case 13:
           printf ("D");
           break;   
           case 14:
           printf ("E");
           break;          
           case 15:
           printf ("F");
           break;          
  
     

   }
     while (l)
     {
      printf ("%d", tab[--l]);
    
    
     }                                                                                                                              
     getch();
}

le  pb est qe kan je rentre 20, il  met 14  au lieu de 14A
POURQUOI?











dimanche 9 novembre 2008 à 21:29:41 | Re : CONVERSION BINAIRE/HEXA

Lucky92

Ton switch ne sert à rien, puisque à la sortie de la boucle while, n vaut 0.
Je t'ai déjà donné toute la solution à cet exercice.
Que cherches-tu à faire ?



lundi 10 novembre 2008 à 15:48:57 | Re : CONVERSION BINAIRE/HEXA

alex64100

TON printf ("%x") fonctionne pas

pour 20
j'ai 14
au lieu de 14A

lundi 10 novembre 2008 à 16:12:54 | Re : CONVERSION BINAIRE/HEXA

Lucky92

Mon printf( "%x") marche très bien, 20 en base dix s'écrit bien 14 en hexa !!!



Cette discussion est classé dans : base, int, printf, tab, err


Répondre à ce message

Sujets en rapport avec ce message

Blem Somme ELmt d'un Tableau Bidimensionnel [ par Orezza ] Slt c encore moi, le boulet de l'info...c tjrs le meme prog mais cette fois ci j'aimerais afficher la somme des elmts de mon tableaux.#include #includ Problem Affichage de mon Tableau [ par Orezza ] salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le pb en c urgenttttttttttttttttt [ par natacha86 ] bonjour, j'ai un probleme avec mon programme, il ne veut pas sortir, j'ai fais un menu et apparement ya un bug mais je ne comprend rien.le code est as encore un pb en c svp....... [ par natacha86 ] j'ai essayer de séparer les fonctions mais ca ne marche pas...#include #include #include #include #include #define MAX 1000000 calcul en précision étendue [ par JesusQuintana ] Bonjours, Je veux programmer en C un ensemble complet de fonctions pour additionner, multiplier des nombres en précision étendue. Les no help une fonction qui a besoin de vous [ par natacha86 ] Re bonjour a tout le monde, voila j'ai mis tout le prog si vous voulez tester, en fait le pb viens de la fonctino tri_shell(), je ne sais pas pkoi ell Demande d'explication a propos d'un code. [ par Strick9 ] Salut à tous, j'ai obtenu grâce à se merveilleux site ce code sources pour cet énoncés:un programme permettant de donner toute les combinaison suite a compilation mai au lancement "erreur la memoire ne peu pas pas etre read" [ par touny23 ] je maitrise pas tro le C.mai comme j ai un projet a faire dessus pour la rentré , je sui obligé de m y mettre .j arrive a compiler sous dev-cpp mai lo fonctions sur les tableau [ par micoo86 ] Bonjour,en faite j'ai fait un programme avec le tableau (somme,affichage,minimum,maximum)mais j'arrive pas a faire le rest de l'exercice.si quelqu'un Probleme de fonction sur la bataille navale... [ par YASS_95 ] Bonjour à tous, Je travaille sur un projet qui est le jeu de la bataille navale et j'ai un petit probleme de fonctions... je vais vous expliquer. J'a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.