Это может быть немного странно, но это проблема, с которой я сталкиваюсь.Установка значения int как конкретного бита
У меня есть-структуру, как это:
typedef struct smallStruct{
unsigned int First10 : 10;
unsigned int Next10 : 10;
unsigned int Third10 : 10;
unsigned int extra : 1;
} small
Мне нужно, чтобы иметь возможность передавать в междунар и установите его так, чтобы он помещается внутрь того, что 10 бит для First10, то другой Int для Next10 и т.д. Причина этого в том, что я должен иметь возможность хранить 4 разных фрагмента информации внутри 4 байтовой переменной, и это самый эффективный способ, я могу думать об этом.
Нужно ли мне для этого переводить бит?
Да, для этого вам нужно выполнить смещение бит. – Nayuki
Что означает «прохождение в« int »? Вы имеете в виду как параметр функции? –
Bitfield-struct не гарантирует упаковку, и это не гарантирует определенный макет. Если вам нужна 32-битная переменная, используйте' uin32_t' и бит-ops. – Olaf