我有一个工作日掩码号,代表一周中某些天数的总和:
SUNDAY = ((2**0))
MONDAY = ((2**1))
TUESDAY = ((2**2))
weekdays_mask = SUNDAY + MONDAY + TUESDAY
因此,如果我将这些天数的总和存储在 DB 中,我该如何进行相反的过程并根据该weekdays_mask
值找到我必须显示的一周中的哪几天。有谁知道这样做的方法?谢谢!
+
有点罕见。您通常会使用按位 OR来组合这些值:
SUNDAY | MONDAY | TUESDAY #=> 7
SUNDAY | MONDAY #=> 3
和按位 AND检查特定值:
days = SUNDAY | MONDAY
days & SUNDAY #=> 1
days & MONDAY #=> 2
days & TUESDAY #=> 0 <- zero indicates bit not set
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句