Перевод из четверичной в десятичную систему счисления - C#
Формулировка задачи:
Мне нужно сделать так:
123 = (1*4 в степени 2) + (2*4 в степени 1) + (3*4 в степени 0) = 27
Не знаю как сделать чтобы каждое число умножалось на число возведенное в степень, а затем прибавлялось к следующему числу возведенному в степень.
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
textBox5.Text = string.Empty;
var i = textBox1.Text.Length.ToString();// считала количество знаков в строке
int value = Convert.ToInt32(i);// конвертировала из строки в int
int s = textBox1.Text[0]; // обращение к первому элементу
int SistChisl = 4;// система счисления
for (int power = 0; power<value; power++) // в степень возводит. Если вводишь 123, то вычисление степени будет 3 раза.
{
var c = Math.Pow(SistChisl, power);
textBox5.Text = Convert.ToString(c); // итог выдает 16. Т.е. 4 в степени 2. По отладчику смотрела все 3 раза возведение в степень проходит правильно.
}
}Решение задачи: «Перевод из четверичной в десятичную систему счисления»
textual
Листинг программы
string str = textBox1.Text;
int value = str.Length;
double res = 0;
int SistChisl = 4;// система счисления
for (int i = 0; i < value; i++)
{
res += (int)Char.GetNumericValue(str[value - 1 - i]) * Math.Pow(SistChisl, i);
}
textBox5.Text = res.ToString();