Faire modulo en C++

Résolu/Fermé
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 - 16 août 2007 à 13:58
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 17 août 2007 à 14:34
Bonjour,

jai une chaine de caracté sous la forme : fff3

et je veu la transformer en une valeur héxadécimal sous la forme 0x3fff
en C++

qlqun pourai me donner des pistes ???

merci

6 réponses

Soit tu le codes toi-même en quelques lignes,
Soit tu utilises la fonction strtol
0
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
16 août 2007 à 15:22
ouai, jai regarder des exemple de la fonction strtol, jai essayer de lutiliser mais jy arrive pas,

pour tu stp me donner un exemple qui marche ??

exemple, transformer : 00000800010000000d08

en
0x00080000
0x0001
0x00
0x00
0x080d

merci merci
0
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
16 août 2007 à 16:40
En regardant la fonction strtol sur : http://www.cplusplus.com/reference/cstdlib/strtol/
jai pas bien compris sont utilisation

quelqun SVP a deja utilisé cette fonction?

je cherche juste à ecrire ce char FFF3 sous la forme 0x3FFF
on sous sa forme décimal

:-(

merci
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
16 août 2007 à 19:58
Personnellement je ne comprends rien à la conversion que tu essayes de faire (en particulier dans le post <2>). Pourquoi fff3 de viens 3fff ?
0
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
17 août 2007 à 08:49
ben au faite, dans un fichier XML, jai des valeur Héxadécimal ecrtient sous la forme (invérsser de héxadécimal ) :

par exemple la valeur apparésse sous la forme fff3 04080103 sont en réalité des valeur héxadécimale qui s'écrit sous la forme

0x3fff 0x03010804

donc voila,

j'utilise la librérie TinyXml pour parsser mon fichier XML, j'arrive a récupérer ses valeur : fff3 04080103 dans un char, mais maintenant je doit les afficher sous la forme héxadécimal 0x3fff 0x03010804 ou les stocker dans une variable avec leur valeur héxadécimal....

j'espere que ta compris ce que je recherche a faire, et si tu pense que cest simple a faire, STP, aide moi

Davance, un gro merci
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
17 août 2007 à 10:01
Je ne comprends pas pourquoi la valeur hexadécimale est retournée dans ton char *. Merci de prendre le temps d'écrire en français.

Partons du principe que tu cherches juste à retourner une chaîne et à mettre un 0x devant.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(){
    const char *src = "3fff";
    unsigned i,n = strlen(src);
    char *dst = (char *)calloc(sizeof(char),(n+3));
    dst[0] = '0';
    dst[1] = 'x';
    for(i=0;i<n;++i) dst[i+2] = src[n-1-i];
    printf("src = %s\n",src);
    printf("dst = %s\n",dst);
    free(dst);
    return 0;
}

Ce qui donne :
(mando@aldur) (~) $ gcc -W -Wall plop.c
(mando@aldur) (~) $ ./a.out
src = 3fff
dst = 0xfff3

Je sais pas si c'est ce que tu voulais mais en tout cas c'est ce que j'ai compris.

Bonne chance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
17 août 2007 à 11:34
FRANCHEMENT MAMIEMANDO, TU ES SYMPA, C4EST TOUT A FAIT CE QUE JE VOULAIS, MERCI
TON PETIT PRORAMME TOURNE A MERVEILLE...

VOILA, J'AI ECRIS EN FRANCAIS, COMME PROMIS...)

MERIC ENCORE UNE FOIS.

A TRES VITE...
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
17 août 2007 à 14:34
Bon ben c'est cool ^^
0