diff options
author | pankunull <panku_null@proton.me> | 2025-08-14 20:55:44 +0200 |
---|---|---|
committer | pankunull <panku_null@proton.me> | 2025-08-14 20:55:44 +0200 |
commit | ab79618ba19b920b7d55b0bad4d9665a15193bb7 (patch) | |
tree | 76d0b352a5bc5df7a6ed4d64cf44635c7dc31caa /shift.c | |
parent | 27552efa93073b5a64dfa1cc82d110e98edb269f (diff) |
added src code
Diffstat (limited to 'shift.c')
-rw-r--r-- | shift.c | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -0,0 +1,32 @@ +#include <stdio.h> + +void print_binary(unsigned char value) { + for (int i = 7; i >= 0; i--) { + printf("%d", (value >> i) & 1); + } + printf("\n"); +} + +int main() { + unsigned char value = 0; // start with all bits off + int bit; + + printf("Starting value: "); + print_binary(value); + + while (1) { + printf("Enter bit to toggle (0-7), or -1 to quit: "); + if (scanf("%d", &bit) != 1) break; + if (bit == -1) break; + if (bit < 0 || bit > 7) { + printf("Invalid bit.\n"); + continue; + } + + value ^= (1 << bit); // toggle the chosen bit + printf("Current value: "); + print_binary(value); + } + + return 0; +} |