#include <stdio.h> #include <stdint.h> uint16_t binary_to_uint(const char *str) { // Your logic here int i = 0; uint16_t ret = 0; while (str[i]) { ret <<= 1; ret |= ((str[i] - '0') * 0x1); i++; } return ret; } int main() { char bin[20]; scanf("%s", bin); printf("%u", binary_to_uint(bin)); return 0; }
my logic is simpler than the solution
Test Cases
Test Results
Input
1010
Expected Output
10