Faire de 5 booleans une variable type 00010

biggil:
Non, c'est la syntaxe de case.
Les deux-points vont après la valeur:

case 00011 :

et vous ne pouvez pas écrire 0011 le compilateur va croire que c'est une valeur en octal (base 8 ) et pas en binaire... il faut écrire B0011 ou B11 tout simplement avec le B pour binaire.

il faut savoir que le compilateur ne savait décoder que la base 10, la base 8 et la base 16.

en base 10, vous écrivez normalement par exemple 17 (en décimal = 1 x 10 + 7 x 1)
en base 16, on met 0x devant le chiffre par exemple 0x11 (ça fait aussi 17 en décimal, 1x16 + 1x1)
en base 8, on met 0 devant les chiffres... et donc quand on écrit 021 ça fait 17 en décimal (2 x 8 + 1 x 1)

le compilateur ne connaissait pas nativement une notation en binaire (enfin depuis C++14 on peut écrire 0b10011100) et si vous vous demandez c'est quoi ces Bxxxx ce sont des macros de l'ancien temps... Quelqu'un s'est tapé le boulot d'écrire toutes les combinaison possibles dans le fichier binary.h

#define B0 0
#define B00 0
#define B000 0
#define B0000 0
#define B00000 0
#define B000000 0
#define B0000000 0
#define B00000000 0
#define B1 1
#define B01 1
#define B001 1
#define B0001 1
#define B00001 1
#define B000001 1
#define B0000001 1
#define B00000001 1
#define B10 2
#define B010 2
#define B0010 2
#define B00010 2
#define B000010 2
#define B0000010 2
#define B00000010 2
...