2013-04-15 3 views
1

Есть ли быстрый способ в аппаратном или программном обеспечении вычитать без займа? то есть. 9 - 11 = 98 Я хотел бы реализовать это на C++, но встроенная сборка - это опция.Быстрое вычитание без заимствования

+2

Можете ли вы показать, почему результат 8? – nhahtdh

+0

Нет способа вычитать с использованием двух дополнений, не беря 1 из 0 (заимствование). –

+0

@nhahtdh Я считаю, что это работает путем вычитания каждого столбца, и если это приводит к отрицательному, добавьте 10 к результату вычитания столбцов. –

ответ

3

Я думаю, вы хотите abs((X % 10) - (Y % 10))

+0

или (10 + X% 10 - Y% 10)% 10. –

+0

Да, они работают! Есть ли большая разница между 'abs' и дополнительным'% '? –