|
#define SIGNAL_C1_MASK (BIN32(00000000,11000000,00000000,00000000))
#define SIGNAL_C2_MASK (BIN32(00000000,00110000,00000000,00000000))
#define SIGNAL_C3_MASK (BIN32(00000000,00001000,00000000,00000000))
#define SIGNAL_C3_MASK (BIN32(00000000,00000111,00000000,00000000))
#define SIGNAL_C4_MASK (BIN32(00000000,00000000,11100000,00000000))
#define SIGNAL_C5_MASK (BIN32(00000000,00000000,00011000,00000000))
#define SIGNAL_C6_MASK (BIN32(00000000,00000000,00000100,00000000))
#define SIGNAL_C6_MASK (BIN32(00000000,00000000,00000011,00000000))
#define SIGNAL_C7_MASK (BIN32(00000000,00000000,00000000,11111111))нужно подсчитать сколько раз надо сдвинуть эти xxMASK вправо чтобы
самая левая 1 стала вначале справаможно так
#define SIGNAL_C1_SHIFT 22
#define SIGNAL_C2_SHIFT 20
.....
#define SIGNAL_C7_SHIFT 0
но так ломает, каждый раз считать сдиги у 32 бита для глаз тяжело
да и маски другие могут быть. Хочется чтобы автоматом считал. Я только
меняю MASK а он автоматические высчитывает число сдвигов.
Так как энтот макрос реализовать покрасивше?
E-mail: info@telesys.ru