Вопросы по теме 'bit-fields'

Маршалинг объектов с битовыми полями в C #
Можно ли маршалировать структуру в стиле C, содержащую битовые поля, в структуру C #, или вам придется маршалировать ее в базовый тип, а затем выполнять битовые маски? Например. Я хотел бы маршалировать структуру стиля C следующим образом:...
6571 просмотров
schedule 14.03.2024

Совокупные значения битового поля с двоичным ИЛИ
У меня есть таблица со значениями int , используемыми в качестве битовых полей (где каждый бит является флагом). Теперь я хотел бы объединить их с помощью бинарной операции (в моем случае ИЛИ), чтобы: SELECT 1 AS bitfield INTO #TABLE UNION ALL...
1340 просмотров

Возможно ли и правильно ли сформировать объединение из битового поля в C?
У меня есть следующий союз, и он работает правильно: #pragma pack(1) ... union { uint8_t opcode; struct { uint8_t z : 3; uint8_t y : 3; uint8_t x : 2; }; }opcode; Размер объединения ровно один байт,...
405 просмотров
schedule 18.04.2024

Соглашение об именах переменных битовых полей и ошибка неверного типа gcc 4.2.1 freebsd 7
Я переношу php с 5.3 на 5.5. Делаю кросс-компиляцию в freebsd 7 - gcc 4.2.1 Компиляция для arm, i386 и powerpc. исходный файл не компилируется. Ниже приведен код, похожий на настоящий. typedef struct _abc { char *d;...
1029 просмотров
schedule 26.10.2023

Получение отрицательного значения с битовыми полями
У меня вопрос связанный с битовыми полями в Си. Вот у меня такая структура: struct Register { int bit:1; }; int main(void) { struct Register bit = {1}; printf("\nbit = %d", bit.bit); return 0; } Не могли бы вы объяснить мне, почему...
970 просмотров
schedule 04.02.2024

Ошибка приведения типа в коммутаторе для перечисления с ограниченным хранилищем
SSCCE : enum class confirm {yes}; struct item { confirm s:4; // (1) limiting storage size required }; int main() { item itm; itm.s = confirm::yes; // (2) OK switch (itm.s) { case confirm::yes: // (3) Failure, need static data...
126 просмотров

Назначение пустых битовых полей в структуре?
Предположим, у меня есть структура, определенная следующим образом: typedef struct Counters { uint8_t counterSec : 6; uint8_t : 3; uint8_t counterMin : 6; uint8_t : 3; uint8_t counterHr : 5; uint8_t : 1; }; Поскольку я...
1299 просмотров
schedule 27.02.2024

Значение битового поля изменяется при отправке через сокет С++
У меня есть битовое поле, которое выглядит следующим образом: typedef struct __attribute__((__packed__)) MyStruct { unsigned int val1:14; unsigned int val2:1; unsigned int val3:1; unsigned int val4:1; unsigned int val5:1; unsigned...
162 просмотров
schedule 24.05.2024

Как объединить два битовых поля
У меня есть два отдельных битовых поля, которые составляют поле «Идентификация» длиной 11 + 18 бит (всего 29 бит). В битовом поле они имеют ожидаемый размер: header a; memset(a.arr, 0, sizeof(a.arr)); a =...
558 просмотров
schedule 19.01.2024

std::atomic для битовых полей структуры
Я изменяю некоторую существующую библиотеку с открытым исходным кодом, и есть структура (скажем, с именем Node), содержащая битовые поля, например. struct Node { std::atomic<uint32_t> size:30; std::atomic<uint32_t> isnull:1;...
403 просмотров
schedule 22.12.2023

Как преобразовать структуру в uint8_t (ошибка: запрошено преобразование в нескалярный тип)
Мне нужно сохранить состояние 8 реле в EEPROM. Я не хотел возиться со сдвигом, и мне нравится использовать битовые поля. Поэтому я хотел определить их так: typedef struct{ uint8_t RELAY0_STATE:1; uint8_t RELAY1_STATE:1; uint8_t...
276 просмотров
schedule 18.01.2024