Я изучаю C, и мне было интересно, возможно ли поместить несколько uint8_t
s в uint64_t
.
Например, скажем, я хочу:
1010 1010 (uint8_t
)
и поместите его в uint64_t
, но в положение "7", например:
0000 0000 1010 1010 0000 00000000 0000 0000 0000 0000 0000 0000 0000 0000
И позже я могу добавить еще одну uint8_t
, например
1111 1111
но на 0-й позиции.
так:
0000 0000 1010 1010 0000 0000 0000 0000 0000 0000 0000 0000 0000 1111 1111
Это то, что я пробовал, но есть ошибки, потому что они разных типов.
void addToBitsAtPosition(uint8_t location, uint64_t *bits, uint8_t to_be_added)
{
// Somehow put at a location?
bits = bits << location;
bits = bits & to_be_added;
}