((c&(-c))) --- 抹去更高位的 (1)
((c/(c&(-c)))) --- 删除 (c)的低位零
((1<<(c-1))) --- (2^{c-1})
((w&(1<<(c-1)))) --- 取出 (w) 中 (2^{c-1})
(limit!=0) --- 满足条件为1,否则为0
(k|c) --- 不进位相加