У меня есть целое число, содержащее флаг, с существующим набором возможных флагов:
#define MAIL_ADDR_FROM 0x0001 /* address field contains the from address */
#define MAIL_ADDR_TO 0x0002 /* address field contains the to address */
#define MAIL_SEEN 0x0004 /* message has been read by the user */
#define MAIL_ATTACH 0x0008 /* message has an attachment */
#define MAIL_IMP_HIGH 0x0010 /* message is of high importance */
#define MAIL_IMP_LOW 0x0020 /* message is of low importance */
#define MAIL_FLAGGED 0x0040 /* message has been flagged */
#define MAIL_REPLIED 0x0080 /* message has been replied to */
#define MAIL_DRAFT 0x0100 /* message is a draft */
#define MAIL_NEW 0x0200 /* message is new */
#define MAIL_DELETED 0x8000 /* message is deleted */
Мне нужно добавить новый:
#define MAIL_SPAM 0x???? /* message is spam */
Есть липричина, по которой существующий список флагов пропускает с 0x0200 до 0x8000?Насколько я понимаю, используемые значения для моего нового флага будут 0x0400, 0x0800 и 0x1000-0x4000.Я что-то неправильно понимаю о том, как работают эти наборы битов?