Forum » » Création-Développement » » Langage C : les unions et l'optimisation
Posté : 19-01-2017 17:23
Même si on mettait "/ 2", le compilateur génèrerait un shift de 1 bit.
Sinon, tu peux même aller plus loin avec les unions, et c'est plus lisible :
union rgba3D{
ULONG argb32;
struct {
UBYTE a;
UBYTE r;
UBYTE g;
UBYTE b;
};
};
Ainsi tu peux faire : pixel.argb32 = 0xaabbccdd;
Et lire la composante rouge avec : pixel.r
J'utilise ça pour manipuler des registres système (avec en plus des champs de bits dans la struct interne ) Message édité par : corto / 19-01-2017 17:24
Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2391&forum=14