Calculette...

jeuneprog Messages postés 33 Date d'inscription mardi 24 février 2004 Statut Membre Dernière intervention 24 octobre 2005 - 10 juil. 2004 à 13:17
Stepharcher Messages postés 117 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 8 septembre 2008 - 18 juil. 2004 à 02:07
Bonjour à tous,

Auriez vous sur cppfrance une calculette qui calcule les hexadecimale (base 16) et les octet (base 8) svp?

Merci beaucoup...

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 juil. 2004 à 13:25
Il suffit de faire un printf ou sprintf avec un %x pour hexa ou %o pour octal.
Sinon tu devrais trouver pas mal de sources sur ca si tu cherches un peu.
0
Stepharcher Messages postés 117 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 8 septembre 2008
14 juil. 2004 à 02:42
voilà mon interprétation de ton problème, mon code fonctionne pour n'importe quelle base :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

char* fct(int a, int base)
{
int pos=1, pos2=0; // Compteur
int i; // Bcl
char* result;

// Trouve la taille de la chaine
while(pow(base, pos)<=a)
pos++;

// Alloue de la mémoire pour le résultat
result=(char*)malloc(sizeof(char)*(pos+1));

// Remplit la chaine
for(i=pos-1; i>=0; i--)
{
result[pos-1-i]=(a%((int)pow(base, i+1)))/((int)pow(base, i))+'0';
}

result[pos]='\0';

return result;
}

int main()
{
int a, b; // le nombre et la base
char* chaine;

// Récupère les infos
scanf("%d", &a); // Entrée le nombre
scanf("%d", &b); // Entrée la base

// Fait le calcul
chaine=fct(a, b);

// Affiche le résultat
printf("%s\n", chaine);

system("pause");
return 0;

}

>:) Stéph >:)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 juil. 2004 à 12:01
Ca ne sert à rien de faire tout ca s'il veut seulement en base 8 ou 16
0
Stepharcher Messages postés 117 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 8 septembre 2008
18 juil. 2004 à 02:07
Si jeuneprog demande pour calculer en base 8 et 16, c'est qu'il ne connait pas le mécanisme. Mon code comvient bien et puis il pourra l'utiliser dans d'autre occasion.

>:) Stéph >:)
0
Rejoignez-nous