Manual bit packing
define MODE_SHIFT = 0;
define MODE_MASK = 0x00000003; // 2 bits
define ENABLE_SHIFT = 2;
define ENABLE_MASK = 0x00000004; // 1 bit
int packed;
int mode;
int enabled;
function pack_settings() {
packed = 0;
packed = packed | ((mode << MODE_SHIFT) & MODE_MASK);
packed = packed | ((enabled << ENABLE_SHIFT) & ENABLE_MASK);
return packed;
}
function unpack_settings(value) {
mode = (value & MODE_MASK) >> MODE_SHIFT;
enabled = (value & ENABLE_MASK) >> ENABLE_SHIFT;
return 0;
}Last updated

