#include <stdio.h> #include <stdint.h> uint32_t extract_even_bits(uint32_t reg) { uint32_t result = 0x00; uint32_t result1 = reg; uint32_t len = 0x00; while (result1 > 0) { result1 = result1 >> 1; len++; } //printf("%d\n",len ); for(int i = 0; i < len; i+=2) { result = ((reg >> i) & 1); //printf("res =%d ",result); result1 = (result1 << 1) | result; //printf("resa= %d ",result1); } return result1; } int main() { uint32_t reg; scanf("%u", ®); printf("%u", extract_even_bits(reg)); return 0; }
Test Cases
Test Results
Input
85
Expected Output
15