#include <stdio.h> #include <stdint.h> uint8_t compress_bits(uint16_t val) { // Your logic here uint8_t cnt = 0; uint8_t reg_8 = 0 ; uint8_t bit_mask = 0; for(uint8_t i = 0 ; i < 16 ; i++) { if ( i % 2 == 0) { bit_mask = (val>>i) & 0x01; reg_8 |= (bit_mask << cnt); cnt++; } } return reg_8; } int main() { uint16_t val; scanf("%hu", &val); uint8_t result = compress_bits(val); printf("%u", result); return 0; }
Test Cases
Test Results
Input
20548
Expected Output
202