3. Check if K-th Bit is Set

Discussions8
Log in to post comments and replies.
RajendraBala
RajendraBala
Sep 01 2026

#include <stdio.h>


/*

@param n is user number 3 

@param k is the bit position  2

Based on the precedence  (1 << k)  = 0000 0100

 n & (1 << k) 

n            = 0000 0011

(1 << k) = 0000 0100

-----------------------------------------------

n & (1 << k) =  0000 0000

*/

int isKthBitSet(int n, int k) {

    // Write your code here

    return (n & (1 << k) ? 1 : 0);

}


 

int main() {

    int n, k;

    scanf("%d %d", &n, &k);

    printf("%d", isKthBitSet(n, k));

    return 0;

}

0
KangajanKuganathan
#include <stdio.h>

int isKthBitSet(int n, int k) {
    // Write your code here
    return (n & (1 << k) ? 1 : 0);
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    printf("%d", isKthBitSet(n, k));
    return 0;
}
0
GauthamShankar
GauthamShankar
Mar 04 2026

if(n&(1U<<k)){

        return 1;

    } else return 0;

0
jason901214edaaa
jason901214edaaa
Apr 27 2026edited

No branch solution

#include <stdio.h>

int isKthBitSet(int n, int k) {
    // Write your code here
    n &= (0x01 << k);
    return !(!n);
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    printf("%d", isKthBitSet(n, k));
    return 0;
}
+1
AndiPurnomo
AndiPurnomo
May 20 2026

will this perform better on the hardware compared to branching version?

0
SHAMKUMAR
SHAMKUMAR
Jan 18 2026
#include <stdio.h>

int isKthBitSet(int n, int k) {
    int isSet=(n&(1<<k))!=0;
    return isSet;
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    printf("%d", isKthBitSet(n, k));
    return 0;
}
0
MohanKilari
MohanKilari
May 01 2026
#include <stdio.h>

int isKthBitSet(int n, int k) {
    // Write your code here
    if (n & (1 << k)) {
        return 1;
    }  
    else{
        return 0;
    }
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    printf("%d", isKthBitSet(n, k));
    return 0;
}
0
harishharishma41
harishharishma41
Aug 26 2026
#include <stdio.h>

int isKthBitSet(int n, int k) {
    int c;
    c=n;
    c=c|1<<k;
    if(c==n)
    return 1;
    else
    return 0;
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    printf("%d", isKthBitSet(n, k));
    return 0;
}
-3
AkhmadLR
AkhmadLR
Aug 12 2026

Error: Command failed: timeout 7 ./main


 

0