How to convert a binary number to a decimal number in C?
binary_converter.c
// how to converter binary to decimal in c #include <stdio.h> #include <string.h> #include <math.h> int binary_converter(char binary[], int length) { int decimal = 0; int position = 0; int index = length - 1; while (index >= 0) { decimal = decimal + (binary[index] - 48) * pow(2, position); index--; position++; } return decimal; } int main() { printf("\n\t\t\tBINARY TO DECIMAL CONVERTER VIA TERMINAL\n\n\n"); char binary[500]; int decimal = 0; int length; printf("\t Enter a binary number that will be converted to decimal. type 'x' to exit\n"); while (1) { printf("BINARY : "); scanf("%s", binary); printf("\n"); length = strlen(binary); for (int i = 0; i < length; i++) { if (binary[i] == 'x') { printf("\nThanks for using our Converter.\n\n"); return 0; } if (binary[i] < 48 || binary[i] > 49) { printf("%s is not a BINARY number. \n\n", binary); break; } else { if (i == length - 1) { decimal = binary_converter(binary, length); printf("DECIMAL = %d \n\n", decimal); } continue; } } } return 0; }