Soyez le premier à donner votre avis sur cette source.
Snippet vu 5 728 fois - Téléchargée 36 fois
#include <stdio.h> #include <stdlib.h> /* Fonction qui transforme le Nombre en base 2 et l'affiche */ void base2 (int Nombre) { /* Si le Nombre est + grand que 1 on fait un appel recursif de la fonction */ if (Nombre>1) { base2 (Nombre/2); } /* Si le Nombre est + petit que 1, on affiche le reste grace au modulo */ printf("%d",Nombre%2); } int main(int argc, char *argv[]) { /* Declaration et initialisaton des variables */ int Nombre=0; char* NombreRecupere=NULL; /* On teste si le nombre d'arguments recupere sur la ligne de commande est bien 2: le programme et le nombre a traiter */ /* Si ce n'est pas le cas, l'utilisateur peut saisir le nombre qu'il souhaite traiter */ if (argc != 2) { printf("Veuillez entrer le nombre a convertir en base 2: "); scanf("%d",&Nombre); } else { /* Sinon on recupere le nombre (qui est sous forme de chaine) sur la ligne de commande */ NombreRecupere = argv[1]; /* On convertit cette chaine en un entier */ Nombre = atoi(NombreRecupere); } /* On affiche le resultat en appelant la fonction Base2 qui traitera le nombre */ printf("%d en base 2 s'ecrit:\n", Nombre); base2 (Nombre); printf("\n"); return 0; }
4 déc. 2004 à 11:05
3 déc. 2004 à 22:45
pour les bases de plus que 16 faut commencer par grouper dans un tableau de char ou de int...
3 déc. 2004 à 22:31
si tu écris 5e2 ou 5E2 ça revient à écrire:
5 * 10^2 (5 fois 10 exposant 2) = 500
c'est pratique quand tu joues avec des nombres très grands ou très petits:
3e9 = 3 milliards
3e-9 = 3 milliardièmes (3 * 10^-9)
tu peux écrire tes nombres comme ça en C++ aussi, et c'est pfs pratique (par exemple, la constante de Kavendish (gravitation) vaut: 6.67e-11, c'est plus pratique à écrire que 0.0000000000667 :) et c'est même plus facile à relire.
3 déc. 2004 à 22:26
euh je suis débutant alors j'ai pas tout compris ce que tu as écrit, ça devient compliquer :-(
C'est quoi le e/E ?
Sinon pour tester le +/- je vais essayer mais je ne te garantis rien ;-)
3 déc. 2004 à 22:16
alors normalement je pense tu peux faire ça avec les bases < 10, par contre pour les autres (comme la base hexa) je ne pense pas que ça marche...
Dites moi si je me trompe.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.