注册 登录
编程论坛 C++教室

里面字符转换十进制是怎么一回事,求解答

蓝色linyp 发布于 2017-05-10 12:42, 1485 次点击
#include<iostream>
using namespace std;
void main(){
    int i,chan=0;
char orig[100];
cout<<"input the numbers:";
cin>>orig;
for(i=0;orig[i]!='\0';i++)
chan=chan*2+(orig[i]-48);/*字符转换成十进制数*/
cout<<chan<<endl;;
}
1 回复
#2
rjsp2017-05-10 15:45
看不懂,尤其是“chan*2”
但我可以写个类似的
程序代码:
#include <iostream>
#include <string>
using namespace std;

int main( void )
{
    std::string s;
    cin >> s;

    unsigned n = 0;
    for( size_t i=0; i!=s.size() && s[i]>='0' && s[i]<='9'; ++i )
        n = n*10 + (s[i]-'0');
    cout << n << endl;

    return 0;
}
假如你不想自己写代码,还可以直接用C++标准库中的 std::stoi 函数
1