Описание тега bit-fields
Битовое поле используется для компактного хранения нескольких логических значений в виде короткой серии битов, где каждый из отдельных битов может быть адресован отдельно.
4
ответа
Распределение записей с битовыми полями в C#
Возможно ли маршалировать структуру в стиле C, содержащую битовые поля, в структуру C#, или вам придется маршалировать ее в базовый тип, а затем делать битовые маски? Например, я хотел бы выделить из структуры стиля C, как это: struct rgb16 { unsign…
16 фев '12 в 12:44
4
ответа
Почему битовые поля должны быть целочисленными?
В каждой книге, которую я искал, в каждом учебнике по Интернету и в каждом вопросе о SO говорится, что битовые поля должны быть целочисленного типа. Это почему?
10 сен '13 в 23:38
1
ответ
Какую структуру данных я должен использовать для вставки битов?
Я пытаюсь реализовать битовый набор для проекта, над которым я работаю, а именно для простого программного модема AFSK. Упрощенный протокол выглядит примерно так: 0111 1110 # burst sequence 0111 1110 # 16 times 0b0111_1110 ... 0111 1110 ... ... # 80…
23 июл '12 в 14:05
1
ответ
C++Builder 2007, Объединение и битовые поля
Размер этого объединения возвращает 16 байтов (в C++Builder 2007). typedef union { struct { unsigned Type:2; unsigned Prev:31; unsigned Next:31; unsigned SizeInBytes:32; }; } eMyUnion; Как я должен изменить это определение объединения, если я хочу s…
21 фев '13 в 11:35
2
ответа
Время упаковки в поле битов
Мне нужно упаковать текущее время в ограничительный битовый шаблон. верхние 5 бит - это часы, следующие 6 - минуты, следующие 6 секунд, а остальные зарезервированы Я придумал противную маску bitAND, а затем конкатенацию строк перед тем, как вернутьс…
07 май '17 в 20:11
1
ответ
Спецификатор формата для печати битового поля в структуре в шестнадцатеричном формате в шестнадцатеричном формате с
У меня следующая структура struct data { uint64_t addr:50; }; Если я хочу напечатать значение addr в десятичном формате hexa, какой спецификатор формата я должен использовать?
09 дек '14 в 07:41
1
ответ
Растровые битовые поля и перечисления в стиле C++
Я начинающий в Rust, который происходит от C/C++. Для начала я попытался создать простую программу типа "Hello-World" для Microsoft Windows, используя user32.MessageBox, где я наткнулся на проблему, связанную с битовыми полями. Отказ от ответственно…
10 апр '18 в 15:22
1
ответ
Как мне обрабатывать битовые поля и qsorting вместе?
Я использую язык C. Недавно я попросил и получил помощь, чтобы функция qsort работала для массива структур. Сейчас я изучаю битовые поля и пытаюсь создать программу, которая использует структуру, которая использует другую структуру, используя битовы…
25 сен '16 в 16:42
2
ответа
Это самый оптимальный способ? Си битовые поля
Я сделал функцию, чтобы установить или очистить определенное количество битов в DWORD. Моя функция работает. Мне не нужна помощь, чтобы это сработало. Тем не менее, мне интересно, если метод, который я выбрал, это самый быстрый способ. Мне довольно …
25 янв '11 в 23:58
1
ответ
Структура нечетного размера с битовыми полями
Я пытаюсь вписать несколько битовых полей в 3-байтовую структуру #pragma pack(push, 1) typedef struct _DSTEntry { uint8_t reserved :6; uint8_t startMonth:4; uint8_t startDay:5; uint8_t endMonth:4; uint8_t endDay:5; } __attribute__((packed)) DSTEntry…
19 май '17 в 09:20
2
ответа
Битовые поля и союзы в C, создающие проблемы
Я внедряю стандарт радиосвязи и столкнулся с проблемой союзов в структуре и объеме памяти. В приведенном ниже примере мне нужно, чтобы эта структура находилась в одном байте памяти (согласно стандарту радиосвязи), но в настоящее время она дает мне р…
21 ноя '12 в 12:18
2
ответа
Почему запись в объединение бит-поле-uint по ссылке дает неправильную инструкцию по сборке?
Сначала немного предыстории: Эта проблема возникла при написании драйвера для датчика в моей встроенной системе (STM32 ARM Cortex-M4). Составитель: ARM NONE EABI GCC 7.2.1 Наилучшим решением для представления регистра внутреннего контроля датчика бы…
25 янв '19 в 20:57
0
ответов
C++ Битовые поля const выражения
Недавно я генерировал код для создания некоторых битовых полей и использовал константные выражения для заполнения битового поля. (C++ 03) Мне интересно несколько вещей. 1. Это хорошая идея 2. Это гарантировано GCC. 3. Будет ли это работать (компилир…
28 фев '18 в 00:09
1
ответ
Порядковый номер битового поля в gcc
Порядковый номер битовых полей определяется реализацией. Есть ли способ проверить, во время компиляции, с помощью какого-либо макроса или другого флага компилятора, что на самом деле является порядком байтовых полей gcc? Другими словами, учитывая чт…
01 дек '17 в 19:53
3
ответа
Насколько медленны битовые поля в C++
У меня есть приложение C++, которое включает в себя ряд структур с битовыми полями, управляемыми вручную, что-то вроде #define FLAG1 0x0001 #define FLAG2 0x0002 #define FLAG3 0x0004 class MyClass { ' ' unsigned Flags; int IsFlag1Set() { return Flags…
14 апр '10 в 14:09
1
ответ
Что значит int i:3 в присваивании переменных?
Я пытаюсь понять следующий код в C: struct values{ int i:3; int j:3; int k:2; }; int main(){ struct values v = {-6,2,5}; printf("%d %d %d", v.i,v.j,v.k); } Этот код производит следующий вывод: 2 2 1 Я пытаюсь понять, что значит назначение для int зн…
23 мар '16 в 23:03
1
ответ
Размер битового поля не такой, как ожидалось, почему?
Почему это битовое поле имеет размер 4?Могу ли я сделать так, чтобы он имел размер 2 (как это очевидно предполагается в приведенном ниже коде), или это невозможно сделать чисто? struct S { unsigned short x : 15; bool a : 1; }; int main() { return si…
07 фев '13 в 11:06
2
ответа
Массив битовых полей в C
У меня есть флаг в 8 битов в C, и я хочу получить к нему побитовый доступ, используя битовые поля, например: #include <stdio.h> #include <stdint.h> int main(void) { struct flags{ uint8_t bits1:1; uint8_t bits2:1; uint8_t bits3:1; uint8_t…
31 окт '14 в 05:27
3
ответа
Битовый порядок от низкого до высокого / Структуры отображения с битовыми полями в C
Недавно я играл с битовыми полями в C, и, очевидно, биты упорядочены от низкого к высокому, хотя Google не поддерживает этот тезис (например, Википедия). Возьмите следующий код ( http://ideone.com/UwWfJM): #include <stdio.h> struct bits { unsi…
09 сен '15 в 16:33
4
ответа
Что такое флаги и битовые поля?
Может кто-нибудь объяснить мне, что такое флаги и битовые поля. Кажется, они связаны друг с другом, или, может быть, я неправильно понял. Я немного разбираюсь в том, что они делают и чем занимаются, но я хотел бы получить их полное объяснение, и я н…
10 мар '13 в 00:55