鉴于以下规模:
Mon = 64, Tue = 32, Wed = 16, Thu = 8, Fri = 4, Sat = 2, Sun = 1
您将如何创建一个传递整数的函数来解码一周中相应的几天?
例如,假设传递了值127,您如何确定该值包含哪些天?
最佳答案
听起来像个位掩码。您可以在这里阅读有关位掩码的信息。 http://en.wikipedia.org/wiki/Mask_%28computing%29
星期日是第一位,星期六是第二位,依此类推,星期一是第七位。要查看是否包括一天,请使用二进制AND。
var listOfDays = 127;
var hasSun = listOfDays & 1;
var hasSat = listOfDays & 2;
var hasFri = listOfDays & 4;
// etc