#include <stdio.h> #include <stdint.h> #define PATTERN_MASK 0x55555555 #define PATTERN_CLEANUP 0x0000FFFF uint32_t extract_even_bits(uint32_t reg) { uint32_t result = 0; for (uint32_t maskIndex = 0; maskIndex < 32; maskIndex+=2) { result = result | ((reg & (1 << maskIndex)) >> (maskIndex/2)); } return result; } int main() { uint32_t reg; scanf("%u", ®); printf("%u", extract_even_bits(reg)); return 0; }
Test Cases
Test Results
Input
85
Expected Output
15