Home => ProblemSet => 2.12-18:生成掩码
Problem1499--2.12-18:生成掩码

1499: 2.12-18:生成掩码

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 3
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

对于(1 << k)的二进制表示为:1 加上 k 个 0,那么 (1 << k) - 1的二进制则代表 k 个 1。
把末尾的 k 位都变成 1,可以写成:x | ((1 << k) - 1)。
把末尾的 k 为都变成 0,可以写成:x & ~((1 << k) - 1)。
把末尾的 k 位都取反,可以写成:x ^ ((1 << k) - 1)。

Input

Output

Source/Category