Bit Operations using Macros

Code

#include <stdio.h>
#include <stdint.h>

// Define bitwise macros here

uint8_t modify_register(uint8_t reg) {
    if((reg&(1<<5))!=0){
            reg &=~(1<<3);
                     reg &=~(1<<5);
                              reg|=(1<<2);
                                       reg|=(1<<7);
                                           }
                                               else {
                                                       reg &=~(1<<3);
                                                                reg |=(1<<5);
                                                                         reg|=(1<<2);
                                                                                  reg|=(1<<7);
                                                                                      }
                                                                                          return reg;
                                                                                          }

                                                                                          int main() {
                                                                                              uint8_t reg;
                                                                                                  scanf("%hhu", &reg);
                                                                                                      printf("%u", modify_register(reg));
                                                                                                          return 0;
                                                                                                          }

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

0

Expected Output

164