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