#12314. 判断某一位是否为 1
判断某一位是否为 1
判断某一位是否为 1
题目描述
给定一个整数 n 和一个整数 k,请判断 n 的二进制表示中第 k 位是否为 1。
- 规定:最低位是第 0 位,次低位是第 1 位,以此类推。
- 例如:
n = 13的二进制是1101- 第 0 位 = 1
- 第 1 位 = 0
- 第 2 位 = 1
- 第 3 位 = 1
输入格式
输入两个整数 n, k。
输出格式
- 如果第
k位是 1,输出YES; - 否则输出
NO。
数据范围
0 ≤ n ≤ 10^90 ≤ k ≤ 30
输入输出样例
输入 1
13 2
输出 1
YES
解释:13 (1101) 的第 2 位是 1。
输入 2
13 1
输出 2
NO
解释:13 (1101) 的第 1 位是 0。
思路提示
(1 << k)表示一个仅第k位为 1 的二进制数。(n & (1 << k))判断n的第k位是否为 1。- 若结果非 0 → 第
k位是 1; - 若结果为 0 → 第
k位是 0。
- 若结果非 0 → 第