How to set a single bit in C

1 Answer

0 votes
#include <stdio.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");
    }
}
 
unsigned int set_bit(unsigned int number, unsigned int bit_number) {
    return number | ((unsigned int)1 << bit_number);
}
 
 
int main() {
    unsigned int num = 136;
     
    print_bits(num, 8);
     
    num = set_bit(num, 5);
     
    printf("\n");
     
    print_bits(num, 8);
 
    return 0;
}
 
 
 
/*
run:
 
10001000
10101000
 
*/

 



answered Sep 29, 2023 by avibootz
edited Sep 30, 2023 by avibootz

Related questions

1 answer 101 views
101 views asked Sep 30, 2023 by avibootz
1 answer 110 views
110 views asked Sep 30, 2023 by avibootz
1 answer 119 views
1 answer 94 views
1 answer 132 views
1 answer 165 views
...