#include <stdio.h> #include <stdint.h> uint32_t extract_even_bits(uint32_t reg) { reg&=0x55555555; reg=(reg|(reg>>1))&0x33333333; reg=(reg|(reg>>2))&0x0f0f0f0f; reg=(reg|(reg>>4))&0x00ff00ff; reg=(reg|(reg>>8))&0x0000ffff; return reg; } int main() { uint32_t reg; scanf("%u", ®); printf("%u", extract_even_bits(reg)); return 0; }
Test Cases
Test Results
Input
85
Expected Output
15