64,639
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
void main()
{ int Dec =0 ;
char ch;
cout < < "Input binary number:\n" ;
do
{ ch = getche() ; }
while( ch !='0' && ch != '1' ) ; //如果不是‘0‘和’1‘,就一直读,就是忽略一切非‘0’和‘1’的字符
cout < <char(ch); //这个肯定是‘0’或‘1’ 输出之
do
{ Dec += ch - '0'; //结果值加上 0或1,看输入的是'0'还是'1'了
ch = getche(); //读一个新的字符
if ( ch == '0' ¦ ¦ ch == '1' ) //判断是不是‘0’和‘1’
Dec *= 2 ; //因为多读了一位,结果当然要乘以2了(因为二进制嘛)
} while( ch == '0' ¦ ¦ ch == '1' ); //如果是‘0’和‘1’就一直做下去,如果不是当然就结束了
cout < < "Decimal " < <Dec < <endl; //输出结果
}