Exposant? puissance, tu veux dire?
Extrait de man pow :
#include <math.h>
double pow(double x, double y);
float powf(float x, float y);
long double powl(long double x, long double y); |
Je ne crois pas que ce soit de l'ansi C (peut être du C99?). Mais de toute façon c'est inutile pour ton problème.
Pour la conversion, tu prends 4 caractères de ta chaine, tu les convertis en décimal : tu as alors un nombre entre 1 à 16 ; il suffit de rajouter le caractère héxadécimal correspondant dans ta chaine résultat.
Et pour convertir du binaire en décimal, il n'y a pas besoin de puissances. Tu prends une variable qui contiendra le résultat, initialisée à 0.
Ensuite tu boucles sur la chaine à convertir, en commençant par le début (ou par la fin si tu convertis un little-endian, évidemment). Tu commences par multiplier la variable résultat par deux, ensuite si tu as un 1 tu rajoutes 1 à cette variable. Fin de la boucle. Problème résolu
Message édité par Pillow le 12-06-2005 à 00:48:44