Вопросы по теме 'bit-fields'
Ошибка при попытке определить 1024-битное (128-байтовое) битовое поле.
Я хотел бы определить большое битовое поле с целью быстрого мониторинга состояния очень большой структуры элементов. Вот что у меня есть до сих пор:
#define TOTAL_ELEMENTS 1021
typedef struct UINT1024_tag
{
UINT8 byte[128];
} UINT1024;...
4791 просмотров
schedule
10.05.2024
Как выполнить приведение битового поля к указателю?
Я написал следующий фрагмент кода, который создает
предупреждение: инициализация делает указатель из целого числа без приведения
OR A
предупреждение: приведение к указателю из целого числа разного размера
из gcc (GCC) 4.1.1...
3681 просмотров
schedule
07.07.2023
массив байтов как битовое поле в С#?
Есть ли встроенный класс или что-то в .NET, которое позволило бы мне обрабатывать массив байтов как большое битовое поле?
1299 просмотров
schedule
02.03.2023
Взаимоисключающие смежные диапазоны из нескольких битовых полей
(Это не домашнее задание класса CS, даже если оно похоже на одно)
Я использую битовые поля для представления диапазонов от 0 до 22. В качестве входных данных, например, у меня есть несколько разных диапазонов (порядок не имеет значения). Я...
348 просмотров
schedule
26.02.2023
Go: битовые поля и битовая упаковка
Битовые поля языка C предоставляют довольно удобный метод определения полей произвольной ширины в структуре (не говоря уже о проблемах с переносимостью). Например, вот простая структура с парой полей и «флагом»:
#pragma pack(push,1)
struct...
8230 просмотров
schedule
06.08.2022
Доступ к битовым полям при чтении / записи двоичных структур данных
Пишу парсер для двоичного формата. Этот двоичный формат включает в себя разные таблицы, которые снова в двоичном формате и обычно содержат поля разного размера (где-то от 50 до 100).
Большинство этих структур будут иметь битовые поля и будут...
6166 просмотров
schedule
03.10.2022
Реализация динамических битовых полей
Дело в том, что может произойти в следующей задаче.
-Элементы массива int имеют длину, скажем, 5, 5, 6, 7, 9 бит (они разные).
Как мне его закодировать, чтобы он занимал 32 бита вместо обычных 160 бит?
Я также хочу сказать, что с другой...
1352 просмотров
schedule
16.08.2022
2-битный массив битовых полей влияет на производительность и эффективность кеша?
Мне нужен 2-битный массив, меня вообще не интересует экономия памяти, но меня интересует минимизация промахов кеша и максимизация эффективности кеша. Использование массива логических значений потребует в 4 раза больше памяти, а это означает, что на...
620 просмотров
schedule
07.04.2023
информация о заполнении структуры
struct abc
{
char arr[7];
char arr1[2];
int i:24;
};
В приведенной выше структуре с помощью оператора sizeof я получил ее размер 12 байт. Но по моим расчетам (может ошибаться) должно быть 16 байт. Почему он дает 12 байт?
Другой...
1159 просмотров
schedule
09.07.2022
Каково практическое использование битовых полей в языке C?
Я читаю учебник по C (на французском языке), и в абзаце они говорят о битовых полях, и они дали следующий пример без особых объяснений:
struct register {
unsigned int mask : 3;
signed int privilege : 6;
unsigned int : 6; /* not used */...
1112 просмотров
schedule
21.02.2023
Отображение структуры битового поля в энергозависимый регистр
Я пишу приложение, которое взаимодействует с рядом регистров, определенных в VHDL. Регистры имеют ширину 32 бита и распределены по группам. Мне предоставляется базовый адрес группы и 32-битные смещения для каждого члена группы. Вот пример одной...
9100 просмотров
schedule
27.06.2022
Битовые поля в C и C++: где они используются?
Я работаю с C и C++ в течение некоторого времени.
Изучая основы, вы можете столкнуться с такими интересными вещами, как битовые поля . . Использование битовых полей в практике программирования носит несколько спорный характер.
В каких...
318 просмотров
schedule
21.05.2023
Несоосность элементов в структурах
В C некоторые элементы структуры имеют тенденцию иметь смещенные смещения, как в случае этого потока в Сообщество HPUX
В таком случае предлагается использовать битовое поле нулевой ширины для выравнивания (смещенного) следующего элемента. При...
951 просмотров
schedule
04.11.2022
Обеспечение ширины значений перечисления в структуре в C99
У меня есть структура, предназначенная для использования 32-битного хранилища:
struct foo_t {
color_t color : 10
some_type_t some_field : 22;
}
, где color_t — это перечисление, определенное как
typedef enum {
RED = 0,...
956 просмотров
schedule
14.07.2023
Возможны ли 2-битные массивы битовых полей С++?
У меня есть структура 2-битных битовых полей, например:
struct MyStruct {
unsigned __int32 info0 : 2;
unsigned __int32 info1 : 2;
unsigned __int32 info2 : 2;
...
unsigned __int32 info59 : 2;
};
И еще один, подобный...
593 просмотров
schedule
15.01.2023
Присвоить целочисленное значение структуре
У меня есть структура, определенная как:
typedef struct {
uint8_t field1 : 6,
uint8_t field2 : 1,
uint8_t field3 : 1
} myStruct;
а потом:
myStruct s;
Каков безопасный способ присвоить 8-битное значение всем полям сразу,...
3200 просмотров
schedule
13.03.2024
Значения по умолчанию для битовых полей в С++ 11
Это работает:
struct A {
unsigned int x = 0;
};
Это также работает:
struct A {
unsigned int x : 1;
};
Можно ли совместить два? То есть инициализировать и указывать размер одновременно? Или мне нужно явно написать конструктор...
996 просмотров
schedule
19.02.2024
Битовые поля в C - выравнивание и инициализация
Поскольку я новичок в битовых полях, мне нужен совет относительно того, что происходит с различными примерами, которые я видел в Интернете. Я хочу использовать битовые поля вместо битовых масок для удобства чтения и упрощения обслуживания в...
186 просмотров
schedule
12.11.2023
Битовые поля и выравнивание
Пытаюсь упаковать данные в пакет. Этот пакет должен быть 64-битным. У меня есть это:
typedef union {
uint64_t raw;
struct {
unsigned int magic : 8;
unsigned int parity : 1;
unsigned int stype : 8;
unsigned int sid...
1395 просмотров
schedule
12.12.2022
Битовые поля Keil выделяют неправильный размер объединения/структуры
typedef union {
struct {
union {
struct {
unsigned int dev_t : 4; // Device Type, see DEV_type_t
unsigned int dev_n : 7; // Device Number
};
unsigned int id : 11; // CAN_ID
};
unsigned int online : 1;
unsigned int...
287 просмотров
schedule
06.03.2023