destroy2k4
Messages postés2Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention17 mars 2004
-
17 mars 2004 à 23:27
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
18 mars 2004 à 15:30
salut a tous je suis debutant en programmation et j'ai un petit probleme
voila en fait j'ai besoin d'une fonction C qui prend en parametre un tableau de char (de caracteres quoi) et qui renvoie un tableau de booleains correspandant au code ASCII de ces caracteres..
exemple: avec un tableau contenant "AA" la fonction retournerai un tableau contenant "0100000101000001" (car A=65=01000001)
ou a la rigeure un truc qui s'approche du resultat
yafuka
Messages postés236Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention18 juillet 20061 17 mars 2004 à 23:42
Vu que les code ascii vont de 65 a 90 & 97 a 122 il peut donc tenir sur un byte soit 8 octets.
ainsi tu peux retourner un tableau de bool de taille 8 pour chaque caracteres.
Aini dans ta fonction utilise strlen() pour connaitre la taille du tableau passé en parametre.
Puis bool* T = new bool[taille]; // taille est ce que strlen renvoi
le reste est simple , tu n'as qu'a parcourir le tableau et recuperer le code ascii de chaque caractere puis le mettre dans le T par bloc de 8.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 18 mars 2004 à 05:57
Je ne sais pas si c'est pour un projet info de l'université Bordeaux 1... en tout cas, voici mon code pour ce projet qui fait la même chose :
[char]
static char*
conversion_binaire(char* texte)
{
int i, j;
int car=0;
char* retour = (char*) malloc(sizeof(char) * (strlen(texte) * 8) + 1);
for (i=0; texte[i] != '\0'; i++)
{
car = texte[i];
for (j=7; j>=0; j--)
{
if ((car - pow(2, j)) < 0)
retour[7 - j + i*8] = '0';
else
{
car -= pow(2, j);
retour[7 -j + i*8] = '1';
}
}
}