Реализовать сложение двоичных чисел с использванием строк - C#

Узнай цену своей работы

Формулировка задачи:

Сложность в том как реализовать перенос бита
Листинг программы
  1. static public string AddBinaryNumbers(string first_num,string second_num)
  2. {
  3. string result = "";
  4. while (first_num.Length % 8 != 0)
  5. {
  6. first_num = "0" + first_num;
  7. }
  8. while (second_num.Length % 8 != 0)
  9. {
  10. second_num = "0" + second_num;
  11. }
  12. for(int i = first_num.Length - 1; i >= 0; i--)
  13. {
  14. if (first_num[i] == 0 ^ second_num[i] == 0)
  15. {
  16. result = "1" + result;
  17. }
  18. else if (first_num[i] == 1 && second_num[i] == 1)
  19. {
  20. }
  21. else
  22. result = "0" + result;
  23. }
  24. return result;
  25. }

Решение задачи: «Реализовать сложение двоичных чисел с использванием строк»

textual
Листинг программы
  1.         public static string AddBinaryNumbers(string f, string s)
  2.         {
  3.             string result = "";
  4.             int l = f.Length > s.Length ? f.Length : s.Length;
  5.             f = f.PadLeft(l + 1, '0');
  6.             s = s.PadLeft(l + 1, '0');
  7.             char ostatok = '0';
  8.  
  9.             for (int i = f.Length - 1; i >= 0; i--)
  10.             {
  11.                 result = (char)(f[i]^s[i]^ostatok) + result;
  12.                 ostatok = (f[i] == '1' && s[i] == '1') || (f[i] == '1' && ostatok == '1') || (s[i] == '1' && ostatok == '1') ? '1' : '0';
  13.             }
  14.             return result.TrimStart('0');

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


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

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

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы