#include <stdio.h> #include <stdint.h> void print_binary(uint16_t val) { // Your logic here uint8_t n; if ((val & 0xff00) > 0) { n = 16; } else { n = 8; } for (int i = n; i != 0; i--) { printf("%d", (val >> (i - 1)) & 0x1); } } int main() { uint16_t val; scanf("%hu", &val); print_binary(val); return 0; }
Solution is simliar to my logic
Test Cases
Test Results
Input
10
Expected Output
00001010