Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
unit32_t sparse(uint8_t src) { uint32 dst = src; dst = ((dst & 0xF0) << 12) | (dst & 0xF); dst = ((dst & 0xC000C) << 6) | (dst & 0x30003); dst = ((dst & 0x2020202) << 3) | (dst & 0x1010101); return dst; }
uint32_t sparse(uint8_t src) { uint32_t dst = 0; uint32_t shift = 0; while(src) { dst |= (src & 1) << shift; src >>= 1; shift += 4; } return dst; }