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

C++ Discussion :

le premier octet d'un nombre short


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut le premier octet d'un nombre short
    Bonsoir

    comment je peut récupérer le premier octet d'un nombre de type short

    merci.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par nihadelg Voir le message
    Bonsoir

    comment je peut récupérer le premier octet d'un nombre de type short

    merci.
    Bonjour, en utilisant un masque binaire.
    Pour ce que tu veut, ca depend ce que tu veut dire par les premier octet. Puisque suivant l'endian, ce seront les poids faible ou les pods fort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    short aaa;
    char aa = aaa & 0xFF;

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    low = (nombre & 0xff)
    ou 
    hi = (nombre >> 8) & 0xff
    suivant la partie que tu veux

    ATTENTION, c'est différent si tu es en big endian ou little endian
    voir ici pour des explications http://fr.wikipedia.org/wiki/Endianness


    Dans l'environnement Microsoft, il y a aussi les macros LOBYTE et HIBYTE

    voir ici : http://msdn2.microsoft.com/en-us/library/ms632658.aspx
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    ATTENTION, c'est différent si tu es en big endian ou little endian
    voir ici pour des explications http://fr.wikipedia.org/wiki/Endianness
    Justement, si on travaille comme ça (avec les décalages et masques de bits), on ne dépend pas de l'endianess.

    Ce qui dépendrait de l'endianess, et n'est donc pas à utiliser, ce serait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    short s = 54;
    char* ptr = reinterpret_cast<char*>(&s);
    char low = ptr[0];
    char hi = ptr[1];

Discussions similaires

  1. Recuperer le premier chiffre d'un nombre sous SAS
    Par Lasse dans le forum SAS Base
    Réponses: 4
    Dernier message: 20/06/2012, 17h18
  2. extraire les deux premiers chiffres d'un nombre
    Par _debutant dans le forum Excel
    Réponses: 3
    Dernier message: 23/09/2008, 11h16
  3. premier page différente et nombre total page
    Par doli100 dans le forum Word
    Réponses: 3
    Dernier message: 20/06/2008, 07h49
  4. n premier octets
    Par Smeurebreut dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 29/04/2008, 13h23
  5. Nombres de nombres premiers avec un certain nombre de chiffres
    Par piotrr dans le forum Mathématiques
    Réponses: 3
    Dernier message: 25/02/2008, 18h03

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