#include <stdio.h> #include <stdint.h> uint16_t binary_to_uint(const char *str) { uint16_t ret = 0; char *p = (char *)str; while (*p) { if (*p == '1') break; p++; } if (!*p) { return 0; } while (*p) { ret |= ((*p++ == '1') ? 1 : 0); if (*p) ret <<= 1; } return ret; } int main() { char bin[20]; scanf("%s", bin); printf("%u", binary_to_uint(bin)); return 0; }
Test Cases
Test Results
Input
1010
Expected Output
10