IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

probleme conversion decimal to binaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut probleme conversion decimal to binaire
    bonsoir a tous!

    voila, j'ai code une fonction me permettant de convertir un nombre decimal en un nombre binaire; evidemmenty ca ne fonctionne du moins a moitie.
    avant de retourner la valeur convertit ca fonctionne mais lorsque je fait un return pour l'affichez dans le main, c'as m'affiche du bordel....
    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    char	*convert_dec_to_bin(int  nb)
    {
      int	i;
      char	str[9];
      int	j;
     
      for (i = 128, j = 0; j <= 7; i/= 2, j++)
        {
          if (nb - i >= 0)
    	{
    	  str[j] = '1';
    	  nb = nb - i;
    	}
          else
    	str[j] = '0';
        }
      str[j] = '\0';
      printf("%s\n", str);
      return(str);
    }
     
    char	*convert_bin_to_dec(char *str)
    {
      int	i;
      int	j;
      int	nb;
      char	c;
     
      nb = 0;
      for (j = strlen(str) - 1, i = 1; i != 128; i *= 2, j--)
        {
          if (str[j] == '1')
    	nb = nb + i;
        }
      c = nb;
      printf("%c", c);
      return (c);
    }
     
    int	main()
    {
      char	*binaire;
     
      binaire = convert_dec_to_bin(97);
      printf("%s", binaire);
      return(0);
    }
    resultat a l'ecran :
    01100001 -------------------> ok
    Ðè¿¿Hè¿¿Ù¦º½ø~½½Tè---------------->apres le return

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par aimad41
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char	*convert_dec_to_bin(int  nb)
    {
      char	str[9];
     
      return(str);
    }
    "str" est déclarer en tant que variable statique locale... Une fois sorti de la fonction, la variable "str" n'existe plus...
    Si tu veux que ça fonctionne, fait un malloc...

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut ok
    oui je vient de rectifier, tu avait raison, merci bien!!!

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    PS : Pense à libérer la chaine de caractere avec free () ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion Decimal en Binaire sur 8bits
    Par drwhite00 dans le forum Langage
    Réponses: 3
    Dernier message: 12/04/2012, 16h11
  2. Conversion decimal binaire d'un nombre signé
    Par ---okaido--- dans le forum MATLAB
    Réponses: 6
    Dernier message: 15/05/2009, 13h05
  3. Conversion Decimal-Binaire
    Par _A.T.Omix_ dans le forum C++
    Réponses: 1
    Dernier message: 17/12/2008, 17h09
  4. Conversion decimal binaire
    Par yohan.fay dans le forum Delphi
    Réponses: 5
    Dernier message: 28/06/2006, 21h20
  5. [Binaire] Conversion decimal -> binaire sans vecteur
    Par yann1979 dans le forum Langage
    Réponses: 1
    Dernier message: 26/10/2005, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo