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

Langage Delphi Discussion :

Compréhension de code


Sujet :

Langage Delphi

  1. #1
    Membre actif Avatar de thierrybatlle
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2005
    Messages : 618
    Points : 222
    Points
    222
    Par défaut Compréhension de code
    Bonjour à tous,

    J'ai un constructeur qui m'a envoyé un code avec un fichier de constante.
    Je dois traduire ce fichier pour un autre langage mais je ne comprend pas la syntaxe de ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            PRV_OCR				= $D0400000;
    	PRV_OCRROWLIST		= PRV_OCR or 1;
    	PRV_OCRROW			= PRV_OCR or 2;
    	PRV_OCRCHAR			= PRV_OCR or 3;
    PRV_OCR contient des données en hexadécimal mais ensuite je ne comprend pas le "or" qui n'est pas un "ou" logique.

    Quand je trace les valeurs voici ce que j'obtiens :
    PRV_OCRROWLIST = -801112063
    PRV_OCRROW = -801112062
    PRV_OCRCHAR = -805306365

    Merci bien.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 577
    Points : 25 225
    Points
    25 225
    Par défaut
    En fait, le terme "logique" n'est pas toujours très logique (ah ah ah ), car selon les langages ça change !

    C++. . . . . . . . . . . . => Delphi
    Opérateurs logiques . => Opérateurs Booléens
    Opérateurs bit à bit . => Opérateurs logiques (bit-à-bit)

    En Delphi, il faut dire "opérateur booléen" ou "opérateur bit à bit"

    or, c'est le ou binaire bit à bit, ça ce comprend mieux en binaire qu'en décimal ou hexa
    bit à bit, en C, c'est le simple |
    booléen en C, c'est un double ||
    en delphi, il se débrouille pour savoir quel or utilisé

    $80000000 . . . . . . . . . . . . . . . . . = 10000000000000000000000000000000b = -2147483648 = - (2^31)
    $D0000003 . . . . . . . . . . . . . . . . . = 11010000000000000000000000000011b = -805306365
    $D0400000 . . . . . . . . . . . . . . . . . = 11010000010000000000000000000000b = -801112064
    $D0400000 or 1 = $D0400000 or 01b = 11010000010000000000000000000001b = -801112063 = $D0400001
    $D0400000 or 2 = $D0400000 or 10b = 11010000010000000000000000000010b = -801112062 = $D0400002
    $D0400000 or 3 = $D0400000 or 11b = 11010000010000000000000000000011b = -801112061 = $D0400003
    $FFFFFFFF . . . . . . . . . . . . . . . . . = 11111111111111111111111111111111b = -1
    $7FFFFFFF . . . . . . . . . . . . . . . . . = 01111111111111111111111111111111b = 2147483647 = 2^31 - 1



    Tu notes que comprendre les entiers 32bits signés, c'est une vrai galère,
    D'ailleurs pour PRV_OCRCHAR ça devrait être -801112061 et non -805306365

    On pourrait presque dire dans ce cas, ton or est l'équivalent d'un + pour les valeurs 1 à FFFFF

Discussions similaires

  1. compréhension de code en asp
    Par bidule123456 dans le forum ASP
    Réponses: 1
    Dernier message: 21/08/2007, 11h12
  2. compréhension de code (passage à une autre page)
    Par kokokaine dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/05/2007, 11h02
  3. Réponses: 3
    Dernier message: 12/01/2007, 09h42
  4. [VB-Access]recset! Pb de compréhension de code
    Par sk8bcn dans le forum VBA Access
    Réponses: 5
    Dernier message: 15/12/2006, 15h26
  5. Compréhension du code
    Par Ivanelis dans le forum Assembleur
    Réponses: 3
    Dernier message: 12/06/2006, 12h08

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