Conersion base 10 => base 2=>16

Contenu du snippet

Ben voila il suffit de rentrer une nombre en base 10 et la base ds laquelle on veut le convertir et hops ..

Source / Exemple :


#include <stdio.h>

int convertion (int base,int nombre,int tab []);
void convertion_nombre_lettres (int tab[],int i);

int convertion (int base,int nombre,int tab [])
{	
                int i;
	i=0; 
	do 
	{
		tab[i]=(nombre%base);
		nombre=nombre/base;
		i++;
	}
	while (nombre>0);
	return (i);
}
void convertion_nombre_lettres (int tab[],int i)
{
	
	int j;
	char conv[17] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	for (j=0;j<i;j++)
	{
		tab[j]=conv[tab[j]];
	}
}

main ()
{
	int base,nombre,tab[32],i,j,continuer;
	
	do
	{
		printf("introduire une nombre entier positif en base 10\n");
		scanf ("%d",&nombre);
		printf("introduire la base de convertion (max=16)\n");
		scanf ("%d",&base);
		
		i=convertion (base,nombre,tab);
		printf("%d en base %d vaut : ",nombre,base);
		if (base>10)
		{
			convertion_nombre_lettres(tab,i);
			
			for (j=i-1;j>=0;j--)
			{
				printf ("%c",tab[j]);
			}
		}
		else 
		{
			for (j=i-1;j>=0;j--)
			{
				printf ("%d",tab[j]);
			}
		}
		printf("\n");
		printf ("voulez vous continuer ?(1=oui)\n");
		scanf ("%d",&continuer);
		printf("\n");
	}
	while (continuer==1);
}

A voir également

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.

Du même auteur (apoilchantal)