Salut,
En base 97, 97 = 10. Voilà un petit code en C. Tu peux tester.
#include <stdio.h>
#include <string.h>
main()
{
int nbr, base ,numero ;
int reste,quotient,diviseur ;
char affichage[20],convert[2],temp[20] ;
printf("Nombre à convertir :") ;
scanf("%d",&nbr) ;
numero = nbr ;
printf("Base de conversion :") ;
scanf("%d",&base) ;
diviseur=base ;
quotient=1 ;
convert[1]='\0' ;
affichage[0]='\0' ;
while (quotient != 0)
{
quotient = nbr / diviseur ;
reste = nbr % diviseur ;
nbr = quotient ;
if ((reste >= 0) && (reste <= 9))
convert[0] = reste+48 ;
else
convert[0] = reste+55 ;
strcpy(temp,convert) ;
strcat(temp,affichage) ;
strcpy(affichage,temp) ;
}
printf("%d en base %d = %s\n",numero,base,affichage) ;
}
à toi d'adapter
Exemples :
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :755
Base de conversion :16
755 en base 16 = 2F3
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :755
Base de conversion :2
755 en base 2 = 1011110011
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :97
Base de conversion :97
97 en base 97 = 10
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :98
Base de conversion :97
98 en base 97 = 11
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :200
Base de conversion :97
200 en base 97 = 26
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :1333
Base de conversion :97
1333 en base 97 = D
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :2789
Base de conversion :97
2789 en base 97 = S
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :68979
Base de conversion :97
68979 en base 97 = 7WC
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :1200
Base de conversion :97
1200 en base 97 = C[
[lamitest@localhost ~]$