Convert Binary String to Integer Without strtol function or Libraries

Code

#include <stdio.h>
#include <stdint.h>

int custom_strlen(const char *str) {
    // Your logic here
    int count = 0;
    int i = 0;
    while(str[i]!='\0'){
        count++;
        i++;
    }
    return count;
}

int power_of_2(int exp){
    int result = 1;
    for(int i = 0; i < exp; i++){
        result *= 2;
    }
    return result;
}

uint16_t binary_to_uint(const char *str) {
    // Your logic here
    int len = custom_strlen(str);
    uint16_t integer = 0;
    for(int i = 0; i < len; i++){
        integer += (str[i]-'0') * power_of_2(len-i-1);
    }
    return integer;
}

int main() {
    char bin[20];
    scanf("%s", bin);

    printf("%u", binary_to_uint(bin));
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

1010

Expected Output

10