Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Сложение и вычитание в 2, 8 и 16 c/c.
Методика выполнения операций сложения и вычитания в этих системах аналогична выполнению соответствующих операций в 10 с/с. Ниже приведены примеры указанных операций.
Пример 8. Двоичная система счисления. Проверка вычитания 1 0 1 1 0 1 1, 1 1 1 1 0 1 1 0 1 1, 1 1 1 1 0 1 1 0 1, 0 1 0 + 1 0 1 1 0 1, 0 1 0 - 1 0 1 1 0 1, 0 1 0 + 1 0 1 1 1 0, 1 0 1 ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ 1 0 0 0 1 0 0 1, 0 0 1 1 0 1 1 1 0, 1 0 1 1 0 1 1 0 1 1, 1 1 1
Пример 9. Восьмеричная система счисления. Проверка вычитания 7 3 0 4 6, 3 5 7 3 0 4 6, 3 5 6 4 2 5 2, 6 7 + 6 5 7 3, 4 6 - 6 5 7 3, 4 6 + 6 5 7 3, 4 6 ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ 1 0 1 6 4 2, 0 3 6 4 2 5 2, 6 7 7 3 0 4 6, 3 5
Пример 10. Шестнадцатеричная система счисления. Проверка вычитания 8 A 7 B E, D 3 8 A 7 B E, D 3 7 B 6 C A, 6 7 + F 0 E 4, 6 C - F 0 E 4, 6 C F 0 E 4, 6 C ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ 9 9 8 A 3, 3 F 7 B 6 C A, 6 7 8 A 7 B E, D 3
Определенная трудность у начинающего программиста возникает при выполнении операции вычитания в 2, 8 или 16 с/с. Ссылка на то, что методика получения результата аналогична выполнению вычитания в 10 с/с, здесь не всегда помогает. Дело в том, что многие манипуляции, в том числе арифметические действия, мы выполняем автоматически, не задумываясь над последовательностью своих действий. Формализация же этих действий и составляет основу алгоритма решения поставленной задачи. В связи с этим обсудим в деталях порядок выполнения операции вычитания на конкретном примере.
Пример 11. 8 A 0 0 3 E 7 B - 1 9 D 5 6 4 A A = 7 0 2 A D 9 D 1 1) 10 8 A 0 0 3 E 7 B - 1 9 D 5 6 4 A A ... 9 D 1
Обозначим цифры уменьшаемого через , вычитаемого - через , разницы - через (если в вычитаемом меньше цифр, чем в уменьшаемом, то вычитаемое нужно дополнить слева незначащими нулями). При нумерации цифр справа налево индекс в данном примере изменяется от 0 до 7. Если , то результат получаем обычным образом. Для имеем (B – A)16 = (11 – 10)10 = 1.
Для имеет место . Поэтому ищем ближайшую слева значащую цифру (это ), отнимаем от нее единицу и переносим эту единицу в первый разряд. То, что в изъята единица, обозначено точкой, а то, что это значение добавлено в первый разряд, записано над цифрой 7 (1016 = 1610). Тогда (10 + 7)16 = 1716 = 2310; (23 – 10)10 = 1310 = D16; = D – 4 = 9 (от значения цифры Е ранее была отнята 1). 2)
10 10 10 10 8 A 0 0 3 E 7 B - 1 9 D 5 6 4 A A 7 0 2 A D 9 D 1
. Ближайшая слева значащая цифра – это A. Производим последовательный перенос единицы в , , . Эти действия обозначены на схеме операции. (10 + 3 – 6)16 = (19 – 6)10 = 1310 = D16 ; (F – 5)16 = (15 – 5)10 = 1010 = A16 ; (F – D)16 = (15 – 13)10 = 2; 9 – 9 = 0; 8 – 1 = 7.
Правильность выполнения операции вычитания целесообразно проверить сложением вычитаемого и разницы.
|