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 Pascal Discussion :

[LG]Comment peut on comparer FACILE des tableaux de BYTE


Sujet :

Langage Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [LG]Comment peut on comparer FACILE des tableaux de BYTE
    Je travaille avec des informations bas niveau en héxa.
    Mes informations sont contenus sur 1, 2 ... 256 Bytes.
    Ces infos sont mémorisées dans des tableaux de byte déclarer en Type_NBytes.

    Je souhaiterais comparer, additionner, soustraire facilement mes données sans être obligé, a chaque fois de fois 10 lignes de calcul :
    Exemple : Result(32bytes) = Valeur1(32Bytes) + Valeur2(8Bytes)
    Exemple : If Valeur3(16Bytes) > Valeur4 (16Bytes)

    Merci

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 946
    Points : 59 444
    Points
    59 444
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Dans le cas d'additions, soustractions, etc, s'il faut gérer des reports d'un byte à l'autre, il n'y a pas de méthode facile (mais bon, je ne suis pas un matheux...).

    Dans tous les cas, à mon avis, tu devrais plutôt avoir recours à du code Assembleur.

  3. #3
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Personnellement j'ai pas compris ce que tu voulais faire... Si tu pouvais être plus clair, pour tout le monde

    Utilise la balise code aussi.

    a+

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Dans mon cas, les valeurs sont retournés par une carte à puce.
    Par exemple :
    Valeur1 = ($00,$01,$F1,$A2,$3C;$15)
    Valeur2 = ($51,$AF)
    Valeur3 = ($00,$05,$F1,$d2,$05;$E1)

    Je voudrais pouvoir ecrire :
    Valeur3 := Valeur1;
    Mais je dois écrire :
    For i=0 to 6 do Valeur3[i] := Valeur1[i];

    Pour les comparaisons, je voudrais écrire :
    If Valeur3>=Valeur2 then {Action1} else {Action2};
    Mais je dois faire une comparaison Byte par Byte en partant de l'index 6

    Pour les additions, je voudrais ecrire :
    Valeur4 := Valeur1 + Valeur3
    ou (autre exemple)
    Valeur4 := Valeur1 + Valeur2 (dans ce cas, j'additionne Valeur2 avec les index 0 et 1 de Valeur1).
    Mais je suis oblige de faire les additions Byte par Byte et gérer les retenus

    ETC....

    Ayant une 100aine de valeur alllant de 1 à 256 Byte, je ne vais pas faire 100 * 3 fonctions ....

    AVEZ VOUS UNE SOLUTION???

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 946
    Points : 59 444
    Points
    59 444
    Billets dans le blog
    2
    Par défaut
    N'est-il pas possible de travailler avec un type unique à 256 bytes ? Les bytes non utilisés auraient une valeur nulle.

    Ou alors, les fonctions que tu écrirais pourraient recevoir comme paramètres les nombres de bytes des valeurs à traiter ?
    Dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Procedure Addition (Valeur1, NbBytesValeur1, Valeur2, NbBytesValeur2);

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/05/2011, 18h25
  2. Réponses: 3
    Dernier message: 21/06/2007, 18h48
  3. Réponses: 4
    Dernier message: 10/05/2006, 10h36
  4. Comment peut on avoir le Canvas d'une imprimante + liste des jobs
    Par YURI2006 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 19/04/2006, 11h11
  5. Comment peut on integer des controles dans un prog opengl
    Par franck31400 dans le forum OpenGL
    Réponses: 2
    Dernier message: 28/04/2004, 09h06

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