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 :

Débutant dans les structures binaires


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut Débutant dans les structures binaires
    Salut à tous

    Voila j’ai trouvé des codes et des structures binaire que j’ai pas bien comprit alors j’ai dit que ça sera mieux de poser quelque petites questions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    struct pixel{
                   unsigned int i:4;
                   unsigned int j:4;
                   unsigned int :4;
                   unsigned int c:4;
    ];
    ...........
    scanf("%u",&a);
    Je comprends pas a quoi sert unsigned
    et j'ai pas compri pour quoi dans le scanf on a mit %u.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dot-_-net Voir le message
    Je comprends pas a quoi sert unsigned
    On déclare une variable unsigned pour indiquer que l'ensemble des bits de la variable servira à stocker le nombre. Le nombre maximal qu'on peut stocker est donc plus grand
    ex:[*] char c => c peut stocker un nombre allant de -128 à +127 (7 bits pour stocker la valeur pouvant donc aller de 0 à 127 et un bit pour indiquer le signe +/-)[*] unsigned char c => c peut stocker un nombre allant de 0 à 255 (sur les 8 bits)

    Par ailleurs, déclarer une variable "unsigned" même si le nombre à stocker est petit permet d'accélérer la rapidité lors de la recopie sur une autre variable. En effet, si on copie une variable signée dans un espace plus grand (char vers short, short vers long), le bit de signe est étendu (pour que la copie garde la même valeur)

    Ex:
    char c=-128 => c est codé en binaire 10000000
    Si on copie "c" dans un "short s"; alors "s" sera codé "11111111 10000000" et "s" vaut toujours -128 (c'est ce qu'on nomme "expansion du bit de signe")

    Travailler en "unsigned" évite au compilo de se fatiguer à regarder s'il y a un bit de signe à étendre lorsque la variable est copiée

    Citation Envoyé par dot-_-net Voir le message
    et j'ai pas compri pour quoi dans le scanf on a mit %u.
    Pour que la fonction "scanf" sache qu'on veut travailler en "unsigned" lorsqu'elle analysera le nombre tapé au clavier...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Merci vous venez de m’éclaircir trops de choses que j’ignorais, savez vous où puis je trouver des exemples car j’ai fait une petite recherche mais j’ai pas trouvé grand chose

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par dot-_-net Voir le message
    Voila j’ai trouvé des codes et des structures binaire que j’ai pas bien comprit alors j’ai dit que ça sera mieux de poser quelque petites questions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    struct pixel{
                   unsigned int i:4;
                   unsigned int j:4;
                   unsigned int :4;
                   unsigned int c:4;
    ];
    ...........
    scanf("%u",&a);
    Je comprends pas a quoi sert unsigned
    et j'ai pas compri pour quoi dans le scanf on a mit %u.
    "Structure binaire", ça n'existe pas...

    http://emmanuel-delahaye.developpez....s.htm#bitfield

Discussions similaires

  1. Problème de débutant dans les tableaux
    Par mat1450 dans le forum C++
    Réponses: 8
    Dernier message: 17/08/2007, 19h09
  2. Débutant dans les réalisations des jeux
    Par amine6441 dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 07/04/2007, 18h56
  3. Vraiment un débutant dans les serveurs Java
    Par zalalus dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 17/08/2006, 18h18
  4. [POO] débutante dans les objets COM
    Par SandraG dans le forum Langage
    Réponses: 11
    Dernier message: 16/03/2006, 12h03
  5. Coherence dans les structures arborescentes...
    Par Alec6 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/09/2004, 12h04

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