IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

calcul melangeant int et long int ?


Sujet :

C

  1. #1
    ThR
    ThR est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1
    Points : 2
    Points
    2
    Par défaut calcul melangeant int et long int ?
    plusieurs questions dejà c koi la variable la plus long ? unsigned long ?

    voila en fait je dois faire un proj RSA, et donc pour coder il fo que j'prenne le code ascii de chaque lettre
    que j'eleve à une puissance e auquel j'applique un modulo n

    (e de l'ordre de 10 et n de l'autre de 100000)

    le pb c l'exposant 108exp(7) ca fais gros, puis meme le modulo je sais pas entre fmod et % bref j'y arrive pas !

    si qqun a une idée...

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 65
    Points : 105
    Points
    105
    Par défaut
    Salut,

    j'ai déjà utilisé sous GCC (linux) de l' "unsigned long long", sur 64 bits.
    Je ne sais pas si c'est standard. Ca ne semble pas être reconnu sous VC++ 5.0 mais peut être les versions ultérieures ?

    si je me souviens bien pour RSA tu n'as pas besoin de manipuler de très très grands nombres dans la mesure où tu travailles justement modulo n.
    Si n vaut 10000, tu ne manipuleras (mais je me trompe peut être) jamais des nombres plus grands que 9999 (mod-n) dans tes algos, donc pas besoin d'une librairie pour les grands nombres ...

    Pour l'élévation à la puissance e mod n, tu as un algo qui n'utilise que des élévations au carré.

    golem
    +++

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 29
    Points : 36
    Points
    36
    Par défaut
    bonjour,

    tout d'abord, le fait que la variable soit signer ou non change certe la valeur positive maximum, mais ne change en rien l'espace occuper en memoire, donc au final ca ne change pas grand chose

    de plus, un point sur lequel je tiens a preciser que microsoft ne c'est pas doter, c'est bien la dessus, je n'ai encore jamais trouver de varaible supperieur a 4 octets en memoire, et le probleme est que (je suis sous Windows 2000 et j'utiliser Visual C++ 6.0 Entreprise) le int, le long, ou le long int font tous 4 octets (le long long n'existe pas et est considerer comme expression illegale sous Visual C++).

    aussi je vous conseil pour ce genre de chose d'utiliser la lib gmp de gnu, c'est une lib qui permet le calcul infini, la memoire est gerer de maniere differente, et ceci fonctionne tres bien, a une exeption pres... elle ne compile pas avec Visual C++, et jusqu'a ce jour personne n'as encore trouver ni pourquoi ni de solution, et ce pas meme leur propre concepteurs...

    enfin du moins pas depuis la derniere fois que je suis aller voir sur le site de la libgmp
    Fatalis
    "La femme est le chef-d'oeuvre de Dieu, surtout quand elle a le diable au corps" Alphonse Allais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit probleme avec un (unsigned long int)
    Par Micks71 dans le forum C
    Réponses: 6
    Dernier message: 19/05/2006, 12h08
  2. Réponses: 9
    Dernier message: 26/04/2006, 09h07
  3. décallage sur long long int
    Par trax44 dans le forum C
    Réponses: 9
    Dernier message: 26/02/2006, 11h41
  4. Réponses: 2
    Dernier message: 16/02/2006, 17h52
  5. Réponses: 1
    Dernier message: 20/12/2005, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo