Flag 宣言
書いてみたけどいまいち。Level の区分が役不足になってからの方がよさそう。
#define SQUISH(n) (!!((n) & 0xF)) #define HEX2BIN(n) (SQUISH(n) \ | (SQUISH((n) >> 4) << 1) \ | (SQUISH((n) >> 8) << 2) \ | (SQUISH((n) >> 12) << 3) \ | (SQUISH((n) >> 16) << 4) \ | (SQUISH((n) >> 20) << 5) \ | (SQUISH((n) >> 24) << 6) \ | (SQUISH((n) >> 28) << 7)) #define FLAGS(f) HEX2BIN(0x##f##U)
ていうかこれ tcc で compile すると何食わせても 3 が出るんですが。