UVA575-斜二进制

#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main ()
{
    string s;
    while(getline(cin,s))
    {
        if(s.size()== 1&&s[0] == '0')break;
        long long int sum = 0;
        for(int i = s.size()-1; i >= 0; i--)
        {
            sum+=(s[i]-'0')*(pow(2,s.size()-i)-1);
        }
        cout<<sum<<endl;
    }
}


二进制转化,普通的字符串题目!

posted on 2012-08-21 10:22  Primo...  阅读(129)  评论(0)    收藏  举报