по сути если у тебя знак отдельно, то просто некоторые сложения станут вычитаниями и наоборот
Да + произвести сравнение чисел, чтобы понять знак результата.
Но это, конечно, тоже проще, чем умножение и деление.
Но если можно сделать умножение (и деление) без изменения знака и усложнения алгоритма, то можно и в доп. коде числа хранить.
Как процессор умножает знаковые числа и определяет переполнение? :)