#include <stdio.h> #include <stdint.h> //function prototype uint8_t check_if_nth_bit_is_set(uint8_t reg, uint8_t n); uint16_t spread_bits(uint8_t val); uint16_t spread_bits(uint8_t val) { // Your logic here uint16_t result = 0; for(uint8_t i = 0; i<8;i++) { result |= ((check_if_nth_bit_is_set(val,i)) << (i*2)); } return result; } uint8_t check_if_nth_bit_is_set(uint8_t reg, uint8_t n) { if (reg & (1 << n)) return 1; return 0; } int main() { uint8_t val; scanf("%hhu", &val); uint16_t result = spread_bits(val); printf("%u", result); return 0; }
Test Cases
Test Results
Input
202
Expected Output
20548