Как перевести число из двоичной системы в десятичную используя цикл for - C#
Формулировка задачи:
Нужно перевести число из двоичной системы в десятичную, учитываю то, что массивы я пока якобы не знаю, и как определять длину строки тоже не знаю. То есть надо осуществить это только при помощи цикла (циклов) for, ну и возможно при помощи рекурсивного метода. Вот ломаю голову, не знаю как.
Решение задачи: «Как перевести число из двоичной системы в десятичную используя цикл for»
textual
Листинг программы
public static int ToDec(ulong binary)
{
int sum = 0, pow = 0;
while (binary > 0)
{
int num = (int)binary % 10;
sum += num * (int)Math.Pow(2, pow);
binary /= 10;
pow++;
}
return sum;
}
public static int RecursToDec(ulong binary, int pow = 0)
{
if (binary < 1)
return 0;
return (int)(binary % 10) * (int)Math.Pow(2, pow)
+ RecursToDec(binary / 10, ++pow);
}