Умножение и деление двоичных чисел - C#
Формулировка задачи:
На входе:
Две строковых параметра, форматом 64 символа (нули и единицы)
Что нужно
Нужно сделать два метода возвращающих строковое значение того же формата 64 символа.
Алгоритм Умножения и деления нужно реализовать самому..
Помогите, битый день уже бьюсь, на умножении завис.. только вот это есть:
Но на выходе чушь... спасите((
private char[] MultiPart(char[] num1, char nOo) { char[] result = new Char[64]; if (nOo == '0') for (int i = 0; i < 64; i++) result[i] = '0'; else return num1; return result; } //Автомат умножения public string Mult(string num1, string num2) { string result = "0000000000000000000000000000000000000000000000000000000000000000"; char[] temp; string temp2 = "0000000000000000000000000000000000000000000000000000000000000000"; char[] cNum1 = num1.ToCharArray(); char[] cNum2 = num2.ToCharArray(); int j = 0; result = string.Join("",MultiPart(cNum1, cNum2[63])); for (int i = 62; i > -1; i--) { j++; temp = MultiPart(cNum1, cNum2[i]); temp2.ToCharArray()[1] = temp[0]; for (int z = 0; z < 63-j; z++) temp[z] = temp[z + j]; for (int z = 63-j; z < 63;z++ ) temp[z] = '0'; result = Sum(result, string.Join("", temp)); result = Sum(result, temp2); } return result; }
Решение задачи: «Умножение и деление двоичных чисел»
textual
Листинг программы
string a = "00011"; string b = "00010" string rez = ""; for (int i = b.Length - 1; i >= 0; i--) { if (b[i] == '1') rez = Add(rez, a); a= a+'0'; // Это сдвиг } //rez готов. Скорректировать до 64 символов
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д