// Your task is to: // Read mode, speed, and status from input // Pack them into a uint16_t register following the given bit layout // Ensure reserved bits (8–9) remain 0 // Print the resulting packed value #include <stdio.h> #include <stdint.h> uint16_t packing_register(uint8_t mode, uint8_t speed, uint8_t status){ uint16_t reg = 0; reg = reg | mode; reg = reg | (speed << 3); reg = reg | ((uint16_t)status << 10); return reg; } int main(){ uint8_t mode, speed, status; scanf("%hhu %hhu %hhu", &mode, &speed, &status); uint16_t reg = packing_register(mode, speed, status); printf("%u",reg); return 0; }
Test Cases
Test Results
Input
3 10 12
Expected Output
12371