Files
sibsutis/1Y-1H/proglabs/exam/main1.c
T
2026-02-21 10:47:00 +07:00

42 lines
989 B
C

// Разработайте функцию, выполняющую преобразование строки
//с однобайтовым двоичным числом в целое десятичное число.
#include <stdio.h>
int main(){
char input;
long long int binary = 0;
int decimal = 0;
// Input
{
printf("Input binary: ");
while((input=getchar())>='0' && input <= '1'){
binary = (binary * 10) + (input - '0');
}
if(input != '\n' && input != EOF && input != 4){
printf("Err, handle char not a 1 or 0");
return 1;
}
}
// __
// Func
int base = 1;// base = (2**n)
long long int bin = binary;
while (binary) {
int last = binary % 10;
binary = binary / 10;
decimal += last * base;
base = base * 2;
}
// __
// Output
printf("binary(%lld) = decimal(%d)",bin,decimal);
return 0;
// __
}