У меня есть следующие переменные.
uint8_t flags;
uint32_t token;
Мне нужно написать функцию, которая объединяет их в один uint64_t, а затем анализирует их обратно на две переменные, одну из uint8_t и одну из uint32_t.
uint64 convert(uint8_t flags, uint32_t token);
void convertBack(uint64 allTogether, uint8_t* flags, uint32_t* token);
Я попытался найти что-то, что делает следующее, но большая часть того, что я нашел, это преобразование двух одинаковых в один большего размера, например двух uint32_t в один uint64_t
Благодарю вас
(uint64_t)flags ^ !token
будет комбинацией. Попробуйте, если получится. Если нет, вам следует уточнить, что вы имеете в виду под комбинацией. Это может означать что угодно! - person too honest for this site   schedule 16.06.2016