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

avec Java Discussion :

Question de Big-Endian/Little-Endian


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 146
    Points : 81
    Points
    81
    Par défaut Question de Big-Endian/Little-Endian
    Bonjour à tous,


    Le contexte :


    Nous codons un programme réseau, et nous voulons envoyer des informations sur 2 octets, en BIG-ENDIAN. L'information en question est les ports utilisés par le programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                                  byte [] b = new byte[2];
    					b[0] = (byte)(tab[i] &0xFF);
    					b[1] = (byte)((tab[i] >>8)&0xFF);
    					for(int j =0;j<2;j++){
    						OutputStreamwriter.write(b[j]);
    					}
    Voici ce que nous avons écrit. Nous ne sommes pas sûr que ce soit en BIG-Endian...

    Sachant que le Java code de base en BIG-ENDIAN (il me semble.. sauf incompréhension de notre part).
    L'ordre d'envoi des bytes est il correcte ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Le sens est correct pour du big endian.
    Le plus simple serait de faire un test dans les vraies conditions. Pour l'interfaçage, il n'y a pas mieux. Ca évitera des galères lors du déploiement final.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par larchicha Voir le message
    Sachant que le Java code de base en BIG-ENDIAN (il me semble.. sauf incompréhension de notre part).
    Il n'y a pas d'endianness en Java. On ne peut pas accéder directement aux octets de la mémoire, et par conséquent ces octets n'ont pas d'ordre. Un entier de 16 bits est un entier de 16 bits, rien d'autre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 146
    Points : 81
    Points
    81
    Par défaut
    Merci beaucoup de votre clarté !

    Qu'est-ce qu'on ferait pas sans DVP.net...

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

Discussions similaires

  1. Permutation d'octets (24 bits big endian => little endian)
    Par Aniki dans le forum x86 32-bits / 64-bits
    Réponses: 8
    Dernier message: 21/02/2014, 16h16
  2. Little endian - Big endian
    Par julinho99 dans le forum Ada
    Réponses: 4
    Dernier message: 10/04/2008, 11h13
  3. big and little endian!!
    Par moon93 dans le forum C
    Réponses: 17
    Dernier message: 31/05/2006, 14h38
  4. Big endian et Little endian?
    Par moon93 dans le forum C
    Réponses: 4
    Dernier message: 07/05/2006, 22h48
  5. [6809] Documentation opcodes ? Big ou little endian ?
    Par krhamidou dans le forum Autres architectures
    Réponses: 2
    Dernier message: 21/01/2006, 16h17

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