4 - 二进制转十进制

  • 给你一个二进制的数,请输出其十进制对应的数字。
  • 原题链接

输入

  • 输入一个二进制的非负整数N,保证在int范围内。

输出

  • 输出转换后的数

样例

输入复制

1011

输出复制

11

输入复制

0

输出复制

0

输入复制

111

输出复制

7

题解

#include <stdio.h>

int main(){
	char ch;
	int a=0;
	while(ch=getchar(),ch!='\n')
  		a=a*2+(ch-'0');
	printf("%d\n",a);;
	return 0;
}

十进制转二进制

#include <stdio.h>
int main() {
    int i = 0, n, a[32];
    scanf("%d", &n);
    if(n==0){ //只考虑非负整数!!!
    	printf("%d",n);
	}else{
		for (i=0; n>0; n /= 2) 
			a[i++] = n % 2;
    	for (i--; i >= 0; i--) 
			printf("%d", a[i]);
	}
	printf("\n");	
    return 0;
}