Bonsoir,
J'essayer d'implementer une fonction de conversion Binaire -> Decimal, le problème c'est que je n'arrive a convertir seulement avec un nombre de bit connnus, ce qui est problèmatique...
Le code n'est pas optimiser, plein de printf & de variable inutiles, en bref...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 int Tab[MAX_SIZE] = {0}; int i; int k; int o=0; int Sum=0; int Table[MAX_SIZE]={0}; int Nb10=0; int Power[MAX_SIZE]={0}; for(i=0;i<MAX_SIZE;i++) { printf("Entrer une valeur pour Tab[%d] = ", i); scanf("%d", &Tab[i]); while(Tab[i]>1) { printf("Entrer une valeur pour Tab[%d] = ", i); scanf("%d", &Tab[i]); } } printf("\n\n"); for(i=0;i<MAX_SIZE;i++) { printf("Tab[%d] = %d.\n", i, Tab[i]); } for(k = i - 1; k >= 0; k --) { Table[o] = Tab[k]; Power[o] = (Table[o]) * (pow(BASE, o)); Sum = Sum + Power[o]; o ++; } Nb10=Sum; printf("\n%d en base decimal.\n", Nb10);
Donc ma question et de savoir comment coder un convertisseur digne de ce nom ?!
J'ai eu plusieur idées, comme recuperer dans une chaîne de caractère les saisies de l'utilisateur puis décaller chaque bit vers la gauche du nombre de bit déjà saisie.
Ou alors arrêter la récuperation quand une certaine occurence est tapée par l'utilisateur (end par exemple), mais bon pas trés pratique...
J'ai donc quelque idées, mais je n'arrive pas a les réaliser, si quelqu'un pouvait me donner quelques tuyaux afin de me débloquer, merci !
Partager