Машинная арифметика
Способы изображения числовой информации в ЦВМ тесно связаны с организацией выполнения арифметических действий над этими изображениями чисел.
Операция умножения может выполняться как ряд последовательных сложений и сдвигов двоичных кодов чисел, а операция деления - как последовательность вычитаний, поэтому можно предположить, что четыре действия арифметики в ЦВМ можно свести лишь к двум: сложению и вычитанию и некоторым вспомогательным действиям над кодами, например сдвигам. Если же найти метод, позволяющий осуществлять операцию вычитания с помощью сложения (в сочетании с некоторой предварительной подготовкой чисел, участвующих в операции), то вычислительный процесс можно свести к последовательности сложений и преобразований операндов (кодов чисел, участвующих в операциях), т. е. выполнять все арифметические действия с помощью схемы, реализующей сложение (сумматора), и ряда вспомогательных схем (для преобразования кодов, их сдвигов) .
Одним из достоинств двоичной системы счисления является возможность простой реализации не только сумматоров, но и схем, осуществляющих преобразования кодов из одной формы в другую, что позволяет практически осуществить выполнение всех арифметических операций с помощью операции суммирования кодов операндов.
Для изображения знака мантиссы и знака порядка числа в ЦВМ используются двоичные цифры 1 и 0. Например, знак «минус» изображается как «1», знак «плюс» - как «0». Так, число - 7 в ячейке памяти записывается как 1,111 ..., а число +7 - как 0,111 ... (запятая в ячейке никак не представлена и приведена здесь для удобства изложения) .
Такой способ записи положительных и отрицательных двоичных чисел называется прямым кодом. Он может использоваться для выполнения на сумматоре операций сложения положительных чисел и умножения чисел с произвольными знаками на основании правил двоичного сложения и умножения. Для реализации с помощью двоичного сумматора операций сложения чисел, имеющих разные знаки, разработаны специальные коды: дополнительный и обратный.
Идея состоит в том, что операцию вычитания чисел, записанных в любой позиционной системе счисления, можно заменить операцией сложения уменьшаемого с алгебраическим дополнением вычитаемого. Например, операцию 53 - 23 = 30 можно заменить операцией
где 77 - алгебраическое дополнение (100 - 23) числа ( -23) .
53 |
+ |
77 |
130 |
Очевидно, что если не учитывать старшую единицу результата, то ответ получится правильным (30) . Как следует из примера, такая замена операций вычитания сложением связана с поиском алгебраического дополнения отрицательного числа, что в свою очередь требует реализации операции вычитания (в нашем примере 100 - 23 = 77) .
Это противоречие легко устраняется в двоичной системе счисления, где алгебраическое дополнение числа можно получить путем простого преобразования прямого кода отрицательного числа. Опуская доказательство, можно сказать, что обратный код отрицательного числа можно получить путем замены всех значащих цифр его мантиссы на противоположные, т. е. нулей - единицами, а единиц - нулями.
Например, обратный код отрицательного числа -0,1010110 имеет вид 1,0101001. Дополнительный код этого числа отличается от обратного тем, что в младший разряд обратного кода добавляется единица, т. е.
1,0101001 |
+ |
1 |
1,0101010 |
Здесь 1,0101010- это дополнительный код числа-0,1010110. Простота аппаратного получения этих кодов делает идею замены операции вычитания сложением кодов технически реализуемой и, значит, позволяет свести выполнение всех арифметических действий к сложению кодов.
Пусть, например, необходимо осуществить операцию вычитания двоичных чисел 0,1110101 и 0,1010101 с помощью операции суммирования кодов. По правилам действий над двоичными числами
Воспользовавшись дополнительным кодом, получим:
_ 0,1110101 |
0,1010101 |
0,0100000 |
Прямой код
| Дополнительный код |
0,1110101 | 0,1110101 |
| + |
1,1110101 | 1,0101011 |
| 10,0100000 |
Старшая единица в разрядах знака во внимание не принимается (она оказывается вне разрядной сетки машины), результат равен 0,0100000. Как следует из примера, положительные числа в дополнительный и обратный коды не преобразуются. При выполнении операций сложения и вычитания знак результата получается автоматически (благодаря свойствам кодов). При умножении и делении знак произведения и частного выясняется с помощью отдельной схемы путем сложения содержимого знаковых разрядов по правилам:
0 + 0 = 0 (+ * + = +)
1 + 0 = 1 (+ * - = -)
0 + 1 = 1 (- * + = -)
1 + 1 =10 (- * - = +)
- Министерство образования украины
- Основы автоматической обработки информации средства вычислительной техники Моделирование как метод исследования
- Аналоговые методы исследования
- Цифровые методы исследования
- Арифметические и логические основы цвм
- Основные определения
- Преобразование сообщений
- Основные функции информации в обществе
- Элементы теории информации
- Способы кодирования информации в цвм
- Представление слова мама в памяти
- Машинная арифметика
- Логические основы и элементная база цвм
- Сумматор от идеи до реализации
- Одноразрядный двоичный сумматор
- Архитектура эвм Обобщенная структурная схема эцвм
- Основные устройства
- Персональный компьютер
- Этапы разработки процессоров
- Логическая организация оперативной памяти
- Источники питания
- Дополнительные устройства материнской платы
- Накопители
- Управление обменом данными
- Видеосистемы, мониторы
- Видеоадаптеры
- Периферийные устройства
- Программное обеспечение Виды программного обеспечения
- Функции и виды операционных систем
- Файловая структура ос
- Операционная система ms dos
- Организация памяти в ос
- Переход к работе с другим логическим устройством
- Форматирование гибких магнитных дисков
- Копирование файлов
- Специальные (стартовые) файлы ms dos
- Файл конфигурации ( config.Sys )
- Командные файлы (типа ват)
- Организация файловой системы, управление работой с файлами
- Имена файлов в ms dos
- Использование "множественных" символов
- Директории
- Древовидная структура директорий
- Команды ms dos
- Операционные оболочки
- Основное меню
- Меню команд
- Команды основной строки меню команд
- Команды альтернативной строки меню команд
- Запуск программ, групповые операции
- Операционная система windows
- Запуск Windows и выход из системы
- Рабочий стол Windows
- Приложения, документы, окна, меню
- Меню Пуск (Главное меню)
- Работа с окнами
- Файловая система Windows
- Окно Мой компьютер
- Программа Проводник (Explorer)
- Выбор (выделение) файлов и папок
- Создание и переименование папок и файлов
- Копирование и перемещение папок и файлов
- Удаление и восстановление папок и файлов