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

Windows Forms Discussion :

Quel type pour GROS int ?


Sujet :

Windows Forms

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 359
    Par défaut Quel type pour GROS int ?
    Bonjour,

    j'ai un nombre de type int, mais très grand, il n'entre pas dans ce type, est-ce qu'il y a un type capable d'accepter un nombre comme :
    91234567891234567891123456

    En fait, avec 26 chiffres !!!

    Auquel cas, est-ce possible de créer une struct ou une Class capable de calculer de tels nombres ?

    Merci

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Euh essaye la classe Decimal ou Int64 ( avec une préférence pour la premiere )

    Decimal : ±1.0 × 10−28 to ±7.9 × 1028 28-29 significant digits System.Decimal

    Int64 : Le type valeur Int64 représente des entiers dont les valeurs sont comprises entre moins 9 223 372 036 854 775 808 et plus 9 223 372 036 854 775 807.

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 359
    Par défaut
    Citation Envoyé par dev01 Voir le message
    Euh essaye la classe Decimal ou Int64 ( avec une préférence pour la premiere )

    Decimal : ±1.0 × 10−28 to ±7.9 × 1028 28-29 significant digits System.Decimal

    Int64 : Le type valeur Int64 représente des entiers dont les valeurs sont comprises entre moins 9 223 372 036 854 775 808 et plus 9 223 372 036 854 775 807.
    Nan
    toujours trop petit ! à peine "20" caractères...

    Sinon, ça n'a rien à voir, mais si on obtiens le hachCode d'une string, la manip' inverse est-elle possible (retrouver le string à partir du hashCode) ?

    En gros mon problème, c'est faire rentrer un string dans un int (alors que le string ne peut pas être casté... il contient des lettres) et pouvoir retrouver le string à partir du int par la suite.

    Merci

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Non le Hashcode comme son nom l'indique, ne calcule qu'un hachage de ta chaine.
    Je ne comprends pas par contre la demande "faire rentrer un string dans un int". Quel est le besoin exact ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 359
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Non le Hashcode comme son nom l'indique, ne calcule qu'un hachage de ta chaine.
    Je ne comprends pas par contre la demande "faire rentrer un string dans un int". Quel est le besoin exact ?
    Il n'y a pas de besoin réél, juste une bidouille.

    à l'origine on avait un objet qui avait un membre ID qui prenait des int, maintenant il doit prendre un string.

    Il y a la façon "facile" d'ajouter un nouveau membre ID qui accepte un string dans l'objet...

    ... mais j'aimerai quand même trouver une autre solution, qui ressemble à mettre un string dans un int d'une façon ou d'une autre !

    Ma 1ère idée, était de codé chaque caractère en nombre à 2 chiffres, ainsi avec un idString d'une longueur de 13 caractères j'obtiens un int de 26 caractère facile à décoder... sauf que 26 caractères ce n'est plus un int justement !

    Bref, je penses que c'est un problème insoluble, mais ça fait pas de mal à y réfflechir, ça m'a permis de développer 2 methodes static réutilisable.

    Je continu quand même d'y réfflechir

    Merci

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Par curiosité, pour quelle raison souhaite-tu gérer des nombres aussi géants ?

  7. #7
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par Ticoche Voir le message
    Ma 1ère idée, était de codé chaque caractère en nombre à 2 chiffres,
    L'ennui, c'est qu'il y a potentiellement 65536 caractères, ce qui est un peu plus que 100

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 359
    Par défaut
    En fait le "nombre" si grand serait qu'un code crypté d'une chaine, que je pourrai ainsi décrypté inversement...

    Et non, j'ai besoin de moins de 100 caractères puisqu'on parle d'un ID, composé qu'avec des chiffres et lettres (même avec la casse ça passerait)

    Mais bon, ça m'a fait remarqué que si un jour je veux faire des calcul sur mon compte en banque je serait bloqué à un moment

  9. #9
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Ben il te reste plus que la classe perso qui encapsule 2/3 champs de type Int64

    Oubli pas de redefinir les operateurs

  10. #10
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Sinon le UInt64 pour les valeurs positives est deux fois plus grand que le Int64.
    Et si c'est pas assez, regarde ici.

  11. #11
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 359
    Par défaut
    Citation Envoyé par smyley Voir le message
    Sinon le UInt64 pour les valeurs positives est deux fois plus grand que le Int64.
    Et si c'est pas assez, regarde ici.
    Ton lien est très interressant, je ne penses pas que mon problème possède une solution (à priori je dois garder le type int, et pas utiliser une classe perso) mais au moins je vais pouvoir m'amuser !

    Merci

    édit: La Class BigInteger est excellente ! Y'a du très bon boulot derrière, je vais m'en servir certainement pour mes dév perso

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

Discussions similaires

  1. Quel type pour contenir des fichiers ?
    Par sofiane80 dans le forum SQLite
    Réponses: 5
    Dernier message: 11/03/2009, 18h39
  2. Réponses: 2
    Dernier message: 28/01/2009, 18h33
  3. Réponses: 4
    Dernier message: 18/11/2008, 10h40
  4. Réponses: 3
    Dernier message: 29/05/2008, 10h27
  5. [TYPE DE CHAMPS] Quel type pour une primary key ?
    Par guy2004 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 25/03/2006, 12h23

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