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

VB.NET Discussion :

overflow dans Uint ? [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut
    bonjour à tous,

    je voudrais faire un calcul avec des "unsigned integer" qui génére parfois des dépassements de capacité mais qui sont normaux

    j'ai écrit un code mais il est très moche à lire ... et je me demandais s'il n'y avait pas une plus belle écriture possible

    le calcul normal est :
    a += ((b << 4) + k0) Xor (b + sum) Xor ((b >> 5) + k1)
    donc comme ce calcul dépasse parfois la taille d'un Uint , je passe par des variables temp qui sont en Ulong (2 fois la taille) et je filtre après

    voila mon code pas beau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim a As UInteger
    Dim b As UInteger
    Dim k0 As UInteger
    Dim k1 As UInteger
    Dim temp1 As ULong
    Dim temp2 As ULong
    Dim temp3 As ULong
    Dim temp4 As ULong
    Dim delta As UInteger = 2654435769
    Dim sum As UInteger = 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    temp1 = (b << 4)
    temp1 += k0
    temp2 = b
    temp2 += sum
    temp3 = b >> 5
    temp3 += k1
    temp4 = a + ((temp1 Xor temp2 Xor temp3) And &HFFFFFFFFUI)
    a = temp4 And &HFFFFFFFFUI
    merci de votre aide

    personne peut m'aider à mieux écrire le code ?

    j'ai essayé avec CLng() mais toujours la meme erreur

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut
    j'ai trouvé

    en cherchant tout autre chose dans les menus de vb.net
    j'ai réussi à trouver comment virer cette erreur sur l'overflow

    il faut double cliqué sur "my projet"
    ensuite dans l'onglet "compile"
    puis dans "advanced compile options"

    il suffit de cocher la case "remove integer overflow checks"

    et voila magique , plus de message d'erreur et un jolie code écrit

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

Discussions similaires

  1. div overflow dans un tableau
    Par 18carats dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/02/2009, 15h31
  2. Firefox : overflow dans un div
    Par gomodo dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 13/01/2009, 15h44
  3. OverFlow dans un tableau
    Par Trebor_ dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/05/2008, 06h39
  4. débordement flash sur overflow dans Opéra
    Par pascalbm dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/02/2008, 17h11
  5. overflow dans un TD
    Par neoboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/09/2007, 12h26

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