#382. 题目6:翻转最低位的1

题目6:翻转最低位的1

题目6:翻转最低位的1

题目描述
给定一个正整数 n,请将它的二进制表示中最低位的 1 变成 0,其余位保持不变。例如,n = 12(二进制 1100),最低位的 1 在第 3 位(从右往左数,从 0 开始),翻转后变成 1000,即 8

输入格式:一个正整数 n(1 ≤ n ≤ 10⁹)。

输出格式:一个整数,表示操作后的结果。

示例

输入:12
输出:8
输入:7
输出:6   // 7 = 111 → 翻转最低位1 → 110 = 6

提示:利用 n & (n - 1) 的特性!