В C. нет 8-битных литералов. Самое близкое, что вы можете получить, это UINT8_C(123)
из stdint.h, который дает вам литерал, наиболее подходящий для переменной типа uint_least8_t
.Очень вероятно, что он расширится до 123U
.
Что касается того, как решить эту проблему практически, вы показываете константу в определении, которое вы должны делать в любом случае:
#define NUMBER_8BIT ( (uint8_t)123 )