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
A voir également:

12 réponses

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
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
leSurvivant
 
essaye ça bin liste[60] au lieu de : char liste[60]
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11653 Statut Contributeur 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
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
guitoontruant Messages postés 316 Statut Membre 53
 
exactement
0
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
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
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
leSurvivant
 
Quelle était la solution?
0
guitoontruant Messages postés 316 Statut Membre 53
 
%s marchait bien
0