Posez votre question Signaler

Faire modulo en C++ [Résolu]

parissain 129Messages postés 8 mars 2007Date d'inscription - Dernière réponse le 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
Lire la suite 

Faire modulo en C++ »

8 réponses
Réponse
+0
moins plus
Soit tu le codes toi-même en quelques lignes,
Soit tu utilises la fonction strtol
parissain - 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
Ajouter un commentaire
Réponse
+0
moins plus
En regardant la fonction strtol sur : http://www.cplusplus.com/reference/clibrary/cstdlib/strtol.html
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
Ajouter un commentaire
Réponse
+0
moins plus
Personnellement je ne comprends rien à la conversion que tu essayes de faire (en particulier dans le post <2>). Pourquoi fff3 de viens 3fff ?
parissain - 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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
Bon ben c'est cool ^^
Ajouter un commentaire
Ce document intitulé « faire modulo en C++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook