#include <stdio.h> #include <stdint.h> uint16_t binary_to_uint(const char *str) { // Your logic here uint16_t num = 0; while(*str != '\0'){ num = num << 1; //multiply by 2 if(*str == '1'){ num += 1; ////add 1 iff bit is 1 } else if(*str != '0'){ return 0; ///return 0 if find invalid char } str++; } return num; } 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