Понимание алгоритма вычитания
Из этого раздаточного материала MIT по системе счисления:
Десятичное вычитание работает очень похоже на десятичное сложение, числа выровнены по одним и тем же местным значениям, и алгоритм работает справа налево. Нижняя цифра вычитается из верхней цифры, и результат записывается в позиции значения места в результате. Если верхняя цифра меньше нижней, то мы должны "занять" следующую позицию значения позиции. Это означает уменьшение верхней цифры в следующей значащей позиции и добавление базы к верхней цифре этой позиции перед выполнением вычитания. Эта операция становится еще более сложной, когда в следующей значимой позиции стоит "0".
Что меня смущает, так это вторая последняя строка в абзаце. Может кто-нибудь объяснить, пожалуйста, значение уменьшения верхней цифры в следующей значимой позиции и добавления основания к верхней цифре этой позиции перед выполнением вычитания.
1 ответ
... и добавление основания к верхней цифре этой позиции перед выполнением вычитания.
В базе 10 это означает, что вы уменьшаете верхнюю цифру слева от текущего столбца, а затем добавляете 10 к верхнему значению в текущем столбце.
Например, в следующем вычитании:
21
-19
---
Чтобы вычесть в столбце единиц, мне нужно позаимствовать из столбца десятков, поэтому я уменьшу столбец десятков и добавлю 10 к 1 в верхнем столбце. Вероятно, это более знакомо, если вы видите, что написано так:
1 11
-1 9
-----