... le binaire est H.S. je pense même si c'est très intéressant ...
Et aussi sur les système actuels, il me semble pour les nombres négatifs on utilise le complément à 2, c'est pour une raison simple :
chiffre de départ :
24 (base 10) :
0001 1000 (base 2)
-24 (base 10) :
1110 1000 (base 2 avec complément à 2)
addition :
0001 1000 + 1110 1000 = 100000000 = -0 = 0
Et hop on remarque qu'on obtient -0, soit 0.
Si on le fait sans complément à 2 bah ça marche pas :
chiffre de départ :
24 (base 10) :
0001 1000 (base 2)
-24 (base 10) :
1001 1000 (base 2 avec MSB mis à 1)
0001 1000 + 1001 1000 = 10110000 = -48
... tiens on obtient pas 0 d'où l'utilisation du complément à 2.
Petit HS fermer.
Sinon pour la conversion entre les bases c'est pas difficile :
Tu dois décomposer en puissance le nombre à convertir et tu as plus qu'à prendre les coefficients pour former le nombre dans la base désirée.
Exemple :
24(base 10) = 2 * 10^1 + 4 * 10 ^ 0
24(base 10) = 1 * 16^1 + 8 * 16 ^ 0 = 18(base 16)
En C, tu dois faire une boucle qui parcoure caractère par caractère la saisie de l'utilisateur et faire les calculs nécessaire (essaye de le faire d'abord on verra ensuite pour la correction

).
Sinon une autre méthode à connaître : conversion des nombres en binaire grâce à la méthode des puissances puis convertir directement (4 bits = 1 chiffre hexa, 3 bits = 1 chiffre en octal, 2 bits = 1 chiffre en base 3).
Il faut éviter les pièges courant de ce genre :
Conversion de 128(base

en base 10.
Hop là on sait directement que c'est impossible, 8 n'existe pas en base 8 ... on compte à partir de 0 on va donc jusqu'à (n-1) (soit 0 à 7 pour l'octal).
Voilà qui se termine mon petit aparté sur le binaire et les conversions de bases.
Kurapix