118. Convert Binary String to Integer Without strtol function or Libraries

Back To All Submissions
Previous Submission
Next Submission

Code

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

int str_len(const char *str){
    int size;
    const char *temp = str;
    while(*temp){
        size++;
        temp++;
    }
    return size;
}
int get_square(int n,int len){
   
    int val = 1;
    for(int i=0;i<((len-1)-n);i++){
        val = val * 2;
    }
    
    return val;
}
uint16_t binary_to_uint(const char *str) {
    uint16_t val = 0;
    int i = 0;
    int size = str_len(str);
    while(*str){
        
        if(*str=='1'){
            val += get_square(i,size); 
        }
        i++;
        str++;
        
    }
    return val;
}

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

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

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote