How to use the operator ~ (Tilde) that inverse (flips) all the bits of its operand (a number) in C

1 Answer

0 votes
#include <stdio.h>
 
void print_bits(int n, int total_bits) {
    for (int i = 1 << (total_bits - 1); i > 0; i = i / 2)
        (n & i) ? printf("1") : printf("0");
}
 
int main(void)
{
    int n = 3;
    printf(" %d = ", n);
    print_bits(n, 8);
    
    n = ~n;
    printf("\n%d = ", n);
    print_bits(n, 8);
 
    return 0;
}
 
 

/*
run:

 3 = 00000011
-4 = 11111100

*/
 

 



answered Nov 21, 2024 by avibootz
...