S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
146 utilisateurs connectés

Qui a vu cet opéateur avant?

babanjida le 06 juillet 2008 à 19h44
Bonjour,

Aujourd'hui, j'ai vu pour la première fois dans ma vie l'opérateur ":" employé dans un code c/c++ devant une variable de type "unsigned" :

struct Bits
{
// byte 0
unsigned right_shift :1; // bit 7
unsigned left_shift :1; // bit 6
unsigned ctrl_pressed :1; // bit 5
unsigned alt_pressed :1; // bit 4
unsigned scroll_lock :1; // bit 3
unsigned num_lock :1; // bit 2
unsigned caps_lock :1; // bit 1
unsigned ins :1; // bit 0
// byte 1
unsigned :1; // bit 7
unsigned :1; // bit 6
unsigned pcjr_click :1; // bit 5
unsigned hold_state :1; // bit 4
unsigned scr_pressed :1; // bit 3
unsigned num_pressed :1; // bit 2
unsigned caps_pressed :1; // bit 1
unsigned ins_pressed :1; // bit 0
} format; // structure variable

Est ce que quelqu'un peut m'expliquer cet énigme?
Dans la même occasion, est ce que vous savez que définie le mot "unsigned", car à ma connaissance, "unsigned" doit être employé avec "int" pour dire que la variable définit est de type entier positif (càd que le dernier bit ne sert pas pour indiquer le signe de l'entier puisque l'entier est positif). Alors je ne sais pas quel est le type de "val1" définie comme : "unsigned val1".
Merci de votre aide.
babanjida le 08 juillet 2008 à 11h59
aucune personne de sais répondre à ma question?
Beno@ le 08 juillet 2008 à 13h01
y'a pas un typedef avant?
babanjida le 10 juillet 2008 à 16h37
il n'y a rien avant, tu peut visiter cette page où j'ai trouvé le code déjà indiqué : "http://www-control.eng.cam.ac.uk/~pcr20/C_Manual/chap09.html"
ornite le 10 juillet 2008 à 22h18
Si c'est comme le php, unsigned signifie que les chiffres sont positif (de 0 au maximum) et signed, on a un chiffre positif ou négatif (la taille est divisé par 2 a cause du signe si il y a une limite de capacité)
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
Beno@ le 11 juillet 2008 à 08h22
ornite a écrit :
Si c'est comme le php, unsigned signifie que les chiffres sont positif (de 0 au maximum) et signed, on a un chiffre positif ou négatif (la taille est divisé par 2 a cause du signe si il y a une limite de capacité)

oui mais il manque le type :/

je sais que int pwet : 6 est un type int codé sur seulement 6 bits, on crée en fait un champ de bits

peut être qu'on peu prendre la liberté de mettre juste unsigned sans rajouter de type devant ;)
marco931 le 11 juillet 2008 à 08h36
Hum... tu sors de l'oeuf ?!
Ca a été expliqué des milliers de fois depuis des dizaines d'années sur Usenet.
cf
news://194.177.96.26/fr.comp.lang.c
news://194.177.96.26/fr.comp.os.ms-windows.programmation
etc...
ornite le 11 juillet 2008 à 15h00
marco931 a écrit :
Hum... tu sors de l'oeuf ?!


C'est pas parce qu'un site ou réseau d'information l'explique depuis des dizaine d'année, que l'on est obligé de tout savoir sur tout. :sarcastic:
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
boxlee le 23 aout 2008 à 09h52
quand unsigned est utilisé tout seul, la variable est int par défaut
quand au deux points, ne serais-ce pas le signe =


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
A lire aussi
PRODUITS
    TÉLÉCHARGER - LOGICIELS
    JEUX VIDÉOS
      LOISIRS
        01NET PRO
          AVIS ET COMMENTAIRES
            A PROPOS DE 01NET
              > Promotion :
              Web to Date 5
              Profitez de -50% jusqu'au 15 novembre !

              Service 01net
              Newsletters 01net
              abonnez vous gratuitement !
                
              01Informatique
              01 INFORMATIQUE
              L'hebdo de référence des décideurs informatiques.
              Micro Hebdo
              MICRO HEBDO
              L'hebdo qui vous simplifie la micro
              et Internet.
              L'Ordinateur Individuel
              L'ORDINATEUR INDIVIDUEL
              Le mensuel informatique qui vous informe et vous conseille.
              Nous contacter  |  Charte de confiance  |  Voir notice légale

              01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
              Tous droits réservés © 1999 - 2009 Internext - 01net.