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