Conrversion decimal binaire

Résolu
guitoontruant Messages postés 316 Statut Membre -  
guitoontruant Messages postés 316 Statut Membre -
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

  1. leSurvivant
     
    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)
    0
  2. guitoontruant Messages postés 316 Statut Membre 53
     
    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.
    0
  3. leSurvivant
     
    essaye ça bin liste[60] au lieu de : char liste[60]
    0
  4. guitoontruant Messages postés 316 Statut Membre 53
     
    Ca ne fonctionne pas, mais je ne comprends pas pourquoi je devais faire ça, bin n'est pas une structure.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
    0
  7. leSurvivant
     
    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?
    0
  8. guitoontruant Messages postés 316 Statut Membre 53
     
    exactement
    0
  9. guitoontruant Messages postés 316 Statut Membre 53
     
    Merci, j'avais oublié que j'avais mis ça, je n'y faisais plus attention.

    Le programme fonctionne nickel maintenant.

    Encore merci leSurvivant.
    0
  10. leSurvivant
     
    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!!
    0
  11. guitoontruant Messages postés 316 Statut Membre 53
     
    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
    0
  12. guitoontruant Messages postés 316 Statut Membre 53
     
    %s marchait bien
    0