CONVERTISSEUR EN BASE 2

Signaler
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003
-
Messages postés
24
Date d'inscription
dimanche 17 novembre 2002
Statut
Membre
Dernière intervention
31 mai 2003
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10150-convertisseur-en-base-2

Messages postés
24
Date d'inscription
dimanche 17 novembre 2002
Statut
Membre
Dernière intervention
31 mai 2003

merki
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003

Erf, mais il massacre mon code ce forum !!
http://leneuf22.free.fr/bin.c
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003

évidemment c'est du C, pas du C++
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003

Une ligne n'est pas correctement passée :
if(!inombre && (*nombre != '0' || nombre[1] != 0)) {
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003

Héhé, pour + court (et ++ simple) tu as la même chose avec un maximum de... 63 bits :)

Cadeau :


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

int main(int argc, char *argv[])
{
long long int masque=1;
long long int inombre=0;
int ok=0;
char nombre[20];

printf("Entrez un nombre positif (max 19 chiffres)
");
gets(nombre);
inombre = atoi64(nombre);
if(!inombre && (*nombre != '0' || nombre[1] != '')) {
printf("Erreur !
Appuyez sur ENTREE pour quitter
");
getchar();
return -1;
}
masque<<=62;
printf("%s en decimal =
", nombre);
while (masque)
{
if(inombre & masque) {
putchar('1');
ok=1;
inombre-=masque;
}
else if(ok)
putchar('0');

masque>>=1;
}
printf("
en binaire

Appuyez sur ENTREE pour quitter
");
getchar();
return 0;
}