Реализовать сложение двоичных чисел с использванием строк - 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');

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы