How to invert the bits of a number in C

1 Answer

0 votes
#include <stdio.h>

void print_bits(int n, int size) {
    for (int i = 1 << (size - 1); i > 0; i = i / 2)
        (n & i) ? printf("1") : printf("0");
}

int main(void)
{
    int x = 981;

    print_bits(x, 16);

    x = ~x;

    printf("\n");
    print_bits(x, 16);

    return 0;
}




/*
run:

0000001111010101
1111110000101010

*/

 



answered Feb 27, 2023 by avibootz

Related questions

1 answer 119 views
119 views asked Sep 28, 2023 by avibootz
2 answers 166 views
166 views asked Sep 29, 2023 by avibootz
1 answer 126 views
1 answer 133 views
133 views asked Sep 29, 2023 by avibootz
1 answer 114 views
114 views asked Sep 28, 2023 by avibootz
2 answers 196 views
...