#include <stdio.h> #include <stdint.h> uint32_t extract_even_bits(uint32_t reg) { uint32_t mask = 0; uint32_t extracted_mask,result=0; for(int i=0; i<32; i+=2) { mask = mask | (1U<<i); } extracted_mask = mask & reg; for(int j=0; j<32; j+=2) { if ((extracted_mask >> j) & 1U) { result |= ( 1U << (j/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