All submissions

Convert Binary String to Integer Without strtol function or Libraries

Code

#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;
}

Solving Approach

 

 

 

Loading...

Input

1010

Expected Output

10