Если у меня есть 16 бит, которые представляют 3 пары значений, каждый из 5 бит и еще одно 1-битное значение в точно таком порядке, можно ли использовать бит-поле для описания этого? Означает ли ANSI C, что бит будет точно в том порядке, который я укажу?Представление отдельных битов в C
struct {
unsigned v1 : 5;
unsigned v2 : 5;
unsigned v3 : 5;
unsigned v4 : 1;
} test;
Если нет, есть ли какая-либо другая структура данных, которую я могу использовать для представления этого? Или я должен просто хранить два 8 бит char
и управлять ими программно, чтобы быть уверенным в переносимости?
Hrm, который не указывает точно, как биты должны быть заказаны. – rid
@Radu: Вы правы. Я расширил цитату, и я думаю, что ответ «определяется реализацией». –
Я вижу ... Таким образом, реализация может использовать любое количество байтов для хранения значений, и каждая последовательность из 5 бит может быть где угодно, до или после любой другой последовательности, и даже биты в последовательности не гарантируются в любой порядок вообще ... – rid