Перевод из любой системы счисления в десятичную - C#
Формулировка задачи:
Как по проще можно написать код который переводит из любой системы счисление в десятичную ???
Решение задачи: «Перевод из любой системы счисления в десятичную»
textual
Листинг программы
using System;
namespace ConsoleApplication
{
internal class Program
{
private static void Main()
{
Console.WriteLine(ToDec("123ABC", 16));
Console.WriteLine(Convert.ToInt32("123ABC", 16));
}
private static long ToDec(string value, int fromBase)
{
const string TABLE = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
long rank = 1, result = 0;
for (var i = value.Length - 1; i >= 0; i--)
{
var index = TABLE.IndexOf(value[i]);
if (index < 0)
throw new ArgumentException("Недопустимый символ.", "value");
result += rank * index;
rank *= fromBase;
}
return result;
}
}
}