문제
컴퓨터는 내부적으로 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 |