Перевод в различные системы счисления - C# (213610)
Формулировка задачи:
Подскажите пожалуйста, с помощью какого метода, а если такового не существует, то с помощью какого алгоритма ВОЗМОЖНО перевести из десятичной системы счисления и обратно из пятнадцатеричной системы, которую не поддерживает
Пожалуйста помогите, очень важно.
Convert.ToString(a, 16)
Решение задачи: «Перевод в различные системы счисления»
textual
Листинг программы
static int FromBase15(string n)
{
int result = 0;
for (int i = n.Length - 1; i >= 0; i--) {
int x;
switch (n[i]) {
case 'A': case 'a': x = 10; break;
case 'B': case 'b': x = 11; break;
case 'C': case 'c': x = 12; break;
case 'D': case 'd': x = 13; break;
case 'E': case 'e': x = 14; break;
default: x = (int)char.GetNumericValue(n[i]); break;
}
result += x * (int)Math.Pow(15, n.Length - i - 1);
}
return result;
}
static string ToBase15(int n)
{
var sb = new StringBuilder();
while (n != 0) {
int r;
n = Math.DivRem(n, 15, out r);
switch (r) {
case 10: sb.Insert(0, 'A'); break;
case 11: sb.Insert(0, 'B'); break;
case 12: sb.Insert(0, 'C'); break;
case 13: sb.Insert(0, 'D'); break;
case 14: sb.Insert(0, 'E'); break;
default: sb.Insert(0, r); break;
}
}
return sb.ToString();
}