Conrversion decimal binaire

Résolu
guitoontruant Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   -  
guitoontruant Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   -
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 315 Date d'inscription   Statut Membre Dernière intervention   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 315 Date d'inscription   Statut Membre Dernière intervention   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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 315 Date d'inscription   Statut Membre Dernière intervention   53
 
exactement
0
guitoontruant Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   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 315 Date d'inscription   Statut Membre Dernière intervention   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 315 Date d'inscription   Statut Membre Dernière intervention   53
 
%s marchait bien
0