Conrversion decimal binaire

Résolu
Bonjour,

j'ai ça:

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

char bin(int N)
{
extern char tab[60];
int i=0,j,c;
while(N<=1)
{
c=2%N;
if (c==0)
{
tab[i]=0;
N/=2;
}
if (c==1)
{
tab[i]=1;
N=N/2-1;
}
i++;
}
tab[i]=1;
return *tab;
}

int main()
{
char liste[60];
liste=bin(132);
printf ("%s",liste);
return 0;
}

et dans mon compilateur, j'ai comme erreur incompatible types of assigment a la ligne ou j'ai liste=bin(32)

Merci d'avence pour votre aide
Configuration: Windows XP
Firefox 2.0.0.9

12 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour guitoontruant,
    le problème c'est que ta liste est un tableau, il faut donc lui preciser un index
    liste[index]=bin(132) avec l'index auquel t veux ranger ta valeur (index va de 0 à 59)
    1. Merci, je n'ai plus le prbolème mais un autre est appar:

      il me dit qure dans la fonction bin, [linker error] undefined reference to tab.
      1. Ca ne fonctionne pas, mais je ne comprends pas pourquoi je devais faire ça, bin n'est pas une structure.
        1. Contributeur
          Salut,

          Pourquoi as-tu mis extern char tab[60] ? En employant extern, ceci veut dire que tab a déjà été déclaré dans un autre fichier.
          Si ce n'est pas le cas, un simple : char tab[60] au lieu de extern ... devrait résoudre le problème.

          Cdt
          1. Non ce n'est pas une structure mais que vex tu faire exactement?
            Afficher dans ton printf la valeur 132 au format binaire c'est à dire 1000 0100?
            1. Merci, j'avais oublié que j'avais mis ça, je n'y faisais plus attention.

              Le programme fonctionne nickel maintenant.

              Encore merci leSurvivant.
              1. N'existe t'il pas un %b à mettre dans ton printf pour l'affichage binaire.
                Je sais qu'il existe %d pour les int, %f pour les float... Mais je ne suis plus sur pour le binaire!!
                1. je ne sais pas, je n'en ai pas entendu parler, je sais jsute qu'il y a %s pour les chaines et %c pour les caracteres