C语言新手家园(1万钻以下)

郑州轻工业大学oj题解(c语言)1068: 二进制数

2019-12-23  本文已影响0人  缘点点

写在题目前:
今天是简书更文的第30天,也是日更的27天。刚更新完目录,发现自己各种题解大大小小写了也有32篇了,也算完成一个小目标了,希望接下来能继续完成100篇的目标吧~加油。


1068: 二进制数

#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    int d, a;
    d = 0; 
    while( a =  getchar(), a != '\n'){
        d  = d * 2 + (a - '0');
    }
    printf("%d",d);
    return 0;
}

例如 100101110
1…………0
2+1=1…………余数为1
0…………1
2+0=2………… 余数为0
0 …………2
2+0=4 ………… 余数为0
1 …………4x2+1=9……………… 余数为1
0…………9x2+0=18 ……………… 余数为0
1 …………18
2+1=37 …………余数为1
1…………… 37
2+1=75…………余数为1
1………………75
2+1=151………… 余数为1
0………………151
2+0=302 ………… 余0
所以得到十进制数302。

上一篇 下一篇

猜你喜欢

热点阅读