How to set specific bits in a char with C

1 Answer

0 votes
#include <stdio.h>

void printBinary(unsigned char ch) {
    for (int i = 7; i >= 0; i--) {
        putchar((ch & (1 << i)) ? '1' : '0');
    }
    putchar('\n');
}

int main() {
    unsigned char ch = 0;
    ch |= (1 << 7);  // Set the 7th bit
    ch |= (1 << 3);  // Set the 3rd bit

    printBinary(ch);  // Print binary representation

    printf("Value: %d\n", ch);
    
    return 0;
}



/*
run:

10001000
Value: 136

*/

 



answered Jul 30, 2025 by avibootz
...