For readability of values โโused as bit fields:
enum Flags { UP = (1<<0), DOWN = (1<<1), STRANGE = (1<<2), CHARM = (1<<3), ...
which, I think, is preferred either "= 1, ..., = 2, ... = 4", or "= 1, ... = 2, = 2 * 2, ... = 2 * 3 'especially if you have 8+ flags.
source share