#include <stdio.h> #include <stdint.h> uint32_t extract_even_bits(uint32_t reg) { // Your code here uint32_t uncompressed = reg & 0b01010101010101010101010101010101; // extract only the even bits; uint32_t compressed = 0U; uint8_t i=0; while(i<32){ compressed |= (1U&uncompressed)<<i; uncompressed >>=2; i++; } 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