Согласно этому сообщению SO:
Каков размер перечисления в C?
типы enum имеют тип signed int
.
Я хотел бы преобразовать определение enum из signed int
в unsigned int
.
Например, на моей платформе unsigned int
имеет ширину 32 -бит. Я хочу создать перечисление:
typedef enum hardware_register_e
{
REGISTER_STATUS_BIT = (1U << 31U)
} My_Register_Bits_t;
Мой компилятор жалуется, что приведенное выше определение выходит за пределы (, что и дляsigned int
).
Как объявитьunsigned int
enum
ценности?