Рассмотрим случай знакового вычитания, когда вычитаемое может быть больше уменьшаемого.
Если разрабатывать универсальную библиотеку для работы с длинными числами, то конечно нужно предусмотреть логический признак: положительное число или отрицательное. Это повлечет за собой переделку всех операций.
Имея в наличии реализации всех операций в неотрицательных числах можно реализовать их и с учетом знака.
У меня же стоит цель зачесть задачу на сервере проверки).
Ниже приведена логика работы программы на основе ранее разобранных операций сравнения и беззнакового вычитания:
- bool isMinus = false;
- if (a < b)
- {
- c = b - a;
- isMinus = true;
- }
- else
- c = a - b;
- if (isMinus) cout<<"-";
- c.output();
* This source code was highlighted with Source Code Highlighter.
Комментариев нет:
Отправить комментарий