Bonjour, je veux faire un code qui convertit un hexadecimal en entier.
mais lorsque j'éxecute le code tout ce passe comme si leDecimal = LeChiffre
lorsque je tape 1 j'obtiens 17. Pouvez vous m'aider à trouver une solution.
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 #include <stdio.h> int main(void) { char leHexa; int leChiffre = 0; int leDecimal=0; do { scanf("%c",&leHexa); if (leHexa >= '0' && leHexa <= '9') leChiffre = leHexa - '0'; /*else if (leHexa >= 'a' && leHexa <= 'f') leChiffre = leHexa - 'a' + 10;*/ else if (leHexa >= 'A' && leHexa <= 'F') leChiffre = leHexa - 'A' + 10; leDecimal = (leDecimal*16) + leChiffre; } while (leHexa != '\n'); printf("%d\n", leDecimal); return 0; }
Partager