Bonjour,
j'ai besoin de quelque éclaircissement sur les structure de bit.
donc j'ai pas mal lu de doc dessus, donc d'après ce que j'ai compris elle ce définie de la sorte
donc apparemment on déclare le bit avec unsigned int , donc ce qui me cause problème c'est que quand je fait un sizeof(test) de ma structure j'ai 4 octet (normal c'est un entier) donc vu que je travaille sur des octets j'ai testé de cette maniéré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 struct test{ unsigned int bit1: 1; unsigned int bit2: 1; unsigned int bit3: 1; unsigned int bit4: 1; unsigned int bit5: 1; unsigned int bit6: 1; unsigned int bit7: 1; unsigned int bit8: 1; };
donc avec un "unsigned char" la cela compile très bien et sizeof me retourne bien 1 octet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 struct test{ unsigned char bit1: 1; unsigned char bit2: 1; unsigned char bit3: 1; unsigned char bit4: 1; unsigned char bit5: 1; unsigned char bit6: 1; unsigned char bit7: 1; unsigned char bit8: 1; };
donc ce que je me demande ces pourquoi tout fonctionne bien alors que les doc que je lis dise que ça fonction qu'avec des entier non signé, c'est surtout pour savoir si ce que je fait et propre car dans mon cas cela m'arrange car je travaille sur des octets, aussi cela me permettra de validé mon choix.
merci d'avance.
Partager