#include <stdio.h> #include <stdint.h> uint32_t extract_even_bits(uint32_t reg) { unsigned int num=0; for(int i=31,j=15;i>=0;i--) { if(i==0) { if(((reg>>i)&1)==1) { num |=(1<<j); j--; } else { num &=~(1<<j); j--; } } else if(i%2==0) { if(((reg>>i)&1)==1) { num |=(1<<j); j--; } else { num &=~(1<<j); j--; } } } return num; } int main() { uint32_t reg; scanf("%u", ®); printf("%u", extract_even_bits(reg)); return 0; }
Test Cases
Test Results
Input
85
Expected Output
15