How to check a single bit in C

1 Answer

0 votes
#include <stdio.h>
#include <stdbool.h>
 
void print_bits(unsigned int num, unsigned int size) {
    for (int i = 1 << (size - 1); i > 0; i = i / 2) {
        (num & i) ? printf("1") : printf("0");
    }
}
 
bool check_bit(unsigned int number, unsigned int bit_number) {
    return (number >> bit_number) & (unsigned int)1;
}
 
int main() {
    unsigned int num = 157;
     
    print_bits(num, 8);
    
    printf("\n");
     
    check_bit(num, 2) ? printf("1"): printf("0");
     
    printf("\n");

    check_bit(num, 5) ? printf("1"): printf("0");
    
    return 0;
}
 
 
 
 
/*
run:
 
10011101
1
0
 
*/

 



answered Sep 30, 2023 by avibootz

Related questions

1 answer 110 views
110 views asked Sep 30, 2023 by avibootz
1 answer 102 views
102 views asked Sep 29, 2023 by avibootz
1 answer 132 views
1 answer 165 views
1 answer 139 views
1 answer 286 views
...