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