Перевод из двоичной системы в десятичную - C#
Формулировка задачи:
Задано неотрицательное целое число в двоичной системе счисления. Требуется перевести его в десятичную.
Ввод
В первой строке содержится исходное число не более чем из
50 000
цифр 0 и 1 без ведущих нулей. Вывод Вывод должен содержать это число в десятичной системе счисления без ведущих нулей. Ввод______Вывод 101_______5
Была проба... Но надо числа больше... Через строки как-то... Помогите, а то я не шарю...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication30
{
class Program
{
static void Main(string[] args)
{
ulong num=0, ost = 0, result = 0, count = 0, s=0;
num = ulong.Parse(Console.ReadLine());
while (num > 0)
{
ost = num % 10;
s = Convert.ToUInt64(Math.Pow(2, count));
result = result + ost * s;
count+=1;
num = num/10;
}
Console.WriteLine("{0}",result);
}
}
}Решение задачи: «Перевод из двоичной системы в десятичную»
textual
Листинг программы
public static void Main(string[] args)
{
string s = "101";
Console.WriteLine(FromBinary(s));
}
static BigInteger FromBinary(string input)
{
BigInteger big = new BigInteger();
foreach (var c in input)
{
big <<= 1;
big += c - '0';
}
return big;
}