문제

컴퓨터는 내부적으로 0과 1 두 개의 숫자만을 사용하여 모든 프로그램이 동작된다.
이렇게 두 개의 숫자만으로 이루어진 수를 이진수라 한다.
2진수를 입력받아 10진수로 변환하여 출력하는 프로그램을 작성하시오.

 

입력형식

0과 1로만 이루어져 있는 30자리 이하의 2진수를 입력받는다.

 

출력형식

입력된 2진수를 10진수로 변환하여 출력한다.

 

<코드>

#include <stdio.h>
#include <string.h>

int main()
{
	char binary[30];
	int decimal = 0;
	
	scanf("%s", binary);
	
	for(int i=strlen(binary)-1, k=1; i>=0; i--, k*=2)
	{
		decimal += (binary[i]-0x30)*k;
	}
	
	printf("%d\n", decimal);
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

3106 : 진법 변환  (0) 2020.06.02
1534 : 10진수를 2,8,16진수로  (0) 2020.06.02
2813 : 소수의 개수  (0) 2020.05.29
1901 : 소수 구하기  (0) 2020.05.29
1740 : 소수  (0) 2020.05.28

+ Recent posts