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

Delphi Discussion :

Pb avec "BIG ENDIAN"


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Points : 48
    Points
    48
    Par défaut Pb avec "BIG ENDIAN"
    Bonjour à tous,
    je sèche devant un problème en apparence simple: comment fabriquer un nombre sur 16bits, signé, avec 1 chiffre après la virgule au format big endian à partir dun réel dans Delphi ?

    Merci d'avance pour votre aide,

    Robert

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Points : 383
    Points
    383
    Par défaut
    bonjour
    en clair, pour transformer un réel sur 32 bit en un nombre sur 16 bit , il va falloir faire de grosses concessions surtout si l'on veut conserver un chiffre après la virgule.
    Le plus simple me il semble est de stocker un entier qui sera divisé par 10 à l'utilisation (nombres limités de 3276.8 à -3276.7).

    - conversion du type: mavar (: integer) := int(LeReel * 10)

    Ensuite pour s'assurer que l'enregistrement se fasse bien en Big Endian (octet de poid fort en premier), il est préférable d'enregistrer le résultat dans un tableau de type byte.

    - tableau[0] := mavar div 256
    - tableau[1] := mavar mod 256

    Enregistrer dans un fichier binaire par

    - BlockWrite(NomFichier, tableau, SizeOf(tableau), Numtableau);

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    ou d'utiliser Swap qui échange les octets de poids fort et faible
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. [SQL2K]Requete sur une chaine avec une ou plusieurs quote
    Par tazamorte dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/04/2007, 08h22
  2. Select et insert avec des caracteres speciaux (quote ')
    Par Paco75 dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/10/2006, 14h59
  3. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  4. Réponses: 3
    Dernier message: 30/06/2005, 12h50

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