#include <stdio.h> #include <stdint.h> uint32_t extract_even_bits(uint32_t reg) { uint32_t reg_2 = 0; for (int i = 0; i < 32; i += 2) { reg_2 <<= 1; // Shift first reg_2 |= (reg >> (30 - i)) & 1; // Extract from MSB down } return reg_2; } int main() { uint32_t reg; scanf("%u", ®); printf("%u", extract_even_bits(reg)); return 0; }
Test Cases
Test Results
Input
85
Expected Output
15