Для следующего класса, предполагая, что все RGBA находятся в диапазоне от 0 до 255
class Color {
public:
short int r;
short int g;
short int b;
short int a;
Я видел библиотеки, такие как устаревшая библиотека GD, использующая сдвиг бит и &, например
((r & 0x7F000000) << 24) & ...
, но я Меня беспокоит, что это может быть медленным, и я бы предпочел более общий подход. Кто-нибудь знает, как я могу упаковать значения RGBA в целое число без знака без использования лишних побитовых операторов (подход GD использует сдвиг на 6-8 бит на байт).