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.
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é)
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