james199129 发表于 2011-9-26 04:21:02

求助,2进制转10进制的题

请会c语言的同学们帮忙写个小程序,我实在写不出来了,憋了好几天了。请大家帮个忙。
二进制数可以转化为十进制值,乘以每次输入2(当需要时)加1。
例如,当输入:100101→37如下:

输入 十进制
1→2 * 0+1 = 1
0→2* 1+0 =2
0→2 * 2+0 = 4
1→2 * 4+1 = 9
0→2*9+0 =18
1→2*18+1 =37

写一个程序,在其中的二进制数是输入的字符之后转化为10进至[使用功能:getche()]
使用while()来计算,当前面输入0或一的时候,后面就出十进制的数

rover12421 发表于 2011-9-26 13:37:19

#include <CONIO.H>

int main(void)
{
    int n;
    int ret = 0;

    while(n = getche(), n=='0' || n == '1')
    {
      ret <<= 1;

      if (n=='1')
      {
            ret += 1;
      }
    }

    cout << ">>>>>>>>>>>>>>>>>" << endl;
    cout << ret << endl;
   
    return 0;
}

YJL 发表于 2011-10-13 09:30:31

运行错误了。。,。

68mn905Y 发表于 2011-10-24 21:30:06

谢谢楼主~~
























static/image/common/sigline.gif
正味网正在热播[其它剧]--雇佣女友

驻留的习惯 发表于 2014-3-15 19:47:12

{:7_167:}!!!!!!!!!!!11

马上有钱1990 发表于 2014-4-4 15:52:52

啊啊大大顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
页: [1]
查看完整版本: 求助,2进制转10进制的题