코딩/Beginner Coder
2814 : 이진수
pikapika
2020. 5. 30. 00:46
문제
컴퓨터는 내부적으로 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;
}