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;
}