Реализовать сложение двоичных чисел с использванием строк - C#
Формулировка задачи:
Сложность в том как реализовать перенос бита
Листинг программы
- static public string AddBinaryNumbers(string first_num,string second_num)
- {
- string result = "";
- while (first_num.Length % 8 != 0)
- {
- first_num = "0" + first_num;
- }
- while (second_num.Length % 8 != 0)
- {
- second_num = "0" + second_num;
- }
- for(int i = first_num.Length - 1; i >= 0; i--)
- {
- if (first_num[i] == 0 ^ second_num[i] == 0)
- {
- result = "1" + result;
- }
- else if (first_num[i] == 1 && second_num[i] == 1)
- {
- }
- else
- result = "0" + result;
- }
- return result;
- }
Решение задачи: «Реализовать сложение двоичных чисел с использванием строк»
textual
Листинг программы
- public static string AddBinaryNumbers(string f, string s)
- {
- string result = "";
- int l = f.Length > s.Length ? f.Length : s.Length;
- f = f.PadLeft(l + 1, '0');
- s = s.PadLeft(l + 1, '0');
- char ostatok = '0';
- for (int i = f.Length - 1; i >= 0; i--)
- {
- result = (char)(f[i]^s[i]^ostatok) + result;
- ostatok = (f[i] == '1' && s[i] == '1') || (f[i] == '1' && ostatok == '1') || (s[i] == '1' && ostatok == '1') ? '1' : '0';
- }
- return result.TrimStart('0');
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д