Bonjour, :)
Admettons que j'ai un tableau de 4 unsigned chars définit de la façon suivante:J'aimerai maintenant avec les 27 premiers bits à partir de l'adresse de toto affecter une variable int. Pour cela je définit un champ de bits:Code:char toto[4] = {0xFE, 0xDC, 0xBA, 0x98};
Essayons ceci:Code:
1
2
3
4 typedef struct { unsigned int entier: 27; } Entier27;
Code:
1
2
3
4
5 Entier27 e27; e27.entier = *toto; printf ("%d\n", e27.entier);
Ça sent le gaz, mais vérifions le résultat:Citation:
Envoyé par Resultat
0xFEDCBA98 = 0b1111 1110 1101 1100 1011 1010 1001 1000
0d134217726 = 0b111 1111 1111 1111 1111 1111 1110
Comme je m'y attendais je ne tombe pas sur le bon résultat. :aie: Bien sûr je pourrais arriver à faire ce que je veux en utilisant des décalages et des masques mais c'est trop compliqué pour pas grand chose. :calim2:
Quelqu'un a une idée ?
Merci :ccool: