
- •Раздел 2 принципы построения и функционирования эвм и вычислительных систем (вс)
- •2.1. Структура эвм
- •2.2. Системы счисления
- •2.3. Формы представления чисел
- •2.3.1. Форма представления чисел с фиксированной точкой
- •2.3.2. Форма представления чисел с плавающей точкой
- •2.3.3. Форматы двоично-десятичных чисел
- •2.3. Машинные коды
- •2.3.1. Прямой код
- •2.3.2. Обратный код
- •2.3.3. Дополнительный код
- •2.4. Перевод чисел из одной системы представления в другую
- •2.4.1. Перевод между основаниями, составляющими степень двойки
- •2.4.2. Перевод целого числа из десятичного счисления в другое
- •2.4.3. Перевод дробного числа из десятичного счисления в другое
- •2.4.4. Перевод чисел в десятичную систему счисления
- •2.5. Арифметические действия над двоичными числами
- •2.5.1. Сложение
- •2.5.2. Вычитание
- •2.5.3. Умножение
- •2.5.4. Деление
- •2.6. Понятие алгебры логики
- •2.7. Простейшие логические функции
- •2.7.1. Логическая операция конъюнкция (логическое умножение)
- •2.7.2. Логическая операция дизъюнкция (логическое сложение)
- •2.7.3. Логическая операция инверсия (отрицание)
- •2.7.4. Логическая операция сложение по модулю 2
- •2.7.5. Логическая операция эквивалентность (функция тождества)
- •2.7.6. Логическая операция импликация (логическое следование)
- •2.7.7. Функция Шеффера
- •2.7.8. Стрелка Пирса ав, или функция Вебба a b
- •2.8. Основные правила преобразования формул
- •2.9. Кодирование текстовой информации
- •2.10. Составные части компьютера
- •2.11. Логические элементы
- •2.12. Триггеры
- •2.12.1. Общие сведения о триггерах
- •2.12.2. Асинхронный rs-триггер
- •2.12.3. Синхронный rs-триггер
- •2.12.3. Двухтактный rs-триггер
- •2.12.4. Асинхронный и синхронный d-триггеры
- •2.12.5. T-триггер
- •2.12.6. Jk-триггер
- •2.13. Типовые узлы комбинационного типа
- •2.13.1. Дешифраторы
- •2.13.2. Одноразрядный сумматор
- •2.13.3. Полусумматор
- •2.13.4. Многоразрядные сумматоры
- •2.13.5. Двоично-десятичные сумматоры
- •2.13.6. Мультиплексоры
- •2.13.7. Демультиплексоры
- •2.14. Типовые узлы накапливающего типа
- •2.14.1. Регистры
- •2.14.2. Счетчики
- •2.14.3. Двоично-десятичные счетчики
- •2.15. Классификация архитектур системы команд
- •2.15.1. Классификация по составу и сложности команд
- •2.15.2. Классификация по месту хранения операндов
- •2.15.3. Стековая архитектура
- •2.15.4. Аккумуляторная архитектура
- •2.15.5. Регистровая архитектура
- •2.15.6. Архитектура с выделенным доступом к памяти
- •2.16. Типы команд
- •2.16.1. Команды пересылки данных
- •2.16.2. Команды арифметической и логической обработки
- •2.16.3. Операции с целыми числами
- •2.16.4. Операции с числами в форме с плавающей запятой
- •2.16.5. Логические операции
- •2.16.6. Операции сдвигов
- •2.16.7. Операции с десятичными числами
- •2.16.8. Simd-команды
- •2.16.9. Команды для работы со строками
- •2.16.10. Команды преобразования
- •2.16.11. Команды ввода/вывода
- •2.16.12. Команды управления системой
- •2.16.13. Команды управления потоком команд
- •2.17. Формат команд
- •2.17.1. Длина команды
- •2.17.2. Разрядность полей команды
- •2.17.3. Выбор адресности команд
- •2.18. Способы адресации операндов
- •2.18.1. Непосредственная адресация
- •2.18.2. Прямая адресация
- •2.18.3. Косвенная адресация
- •2.18.4. Регистровая адресация
- •2.18.5. Косвенная регистровая адресация
- •2.18.6. Адресация со смещением
- •2.18.7. Относительная адресация
- •2.18.8. Базовая регистровая адресация
- •2.18.9. Индексная адресация
- •2.18.10. Страничная адресация
- •2.18.11. Блочная адресация
- •2.18.12. Распространенность различных видов адресации
- •2.19. Способы адресации в командах управления потоком команд
- •2.20. Функциональная организация фон-неймановской вычислительной машины
- •2.20.1. Устройство управления
- •2.20.2. Арифметико-логическое устройство
- •2.20.3. Основная память
- •2.20.4. Модуль ввода/вывода
- •2.21. Цикл команды
- •2.21.1. Стандартный цикл команды
- •2.21.2. Описание стандартных циклов команды для гипотетической машины
- •2.21.3. Машинный цикл с косвенной адресацией
2.4.3. Перевод дробного числа из десятичного счисления в другое
Чтобы перевести дробное десятичное число в систему счисления с основанием n надо:
1. Последовательно умножать данное число и получаемые дробные части произведений на основание новой системы до тех пор, пока дробная часть произведения не станет равна нулю или не будет получено требуемое по условию количество разрядов.
2. Полученные целые части являются разрядами числа в новой системе, и их необходимо представлять цифрами этой новой системы счисления.
3. Составить дробную часть числа в новой системе, начиная после целой части первого произведения.
Необходимо отметить, что не каждое число может быть точно выражено в новой системе счисления; поэтому иногда вычисляют только требуемое количество разрядов в дробной части, округляя последний разряд.
А10 = 0,125.
0 |
125 *2 |
0 |
250 *2 |
0 |
500 *2 |
1 |
000 |
А2 = 0,001.
0 |
125 *8 |
1 |
000
|
А8 = 0,1.
0 |
125 *16 |
2 |
000
|
А16 = 0,2.
2.4.4. Перевод чисел в десятичную систему счисления
Перевод чисел в десятичную систему счисления можно сделать по формулам степенного ряда. Главное, что конечный результат не зависит от способа преобразования. Например
A1 = 100100,10012, А2 = 234,58 и А3 = АВС,Е]6.
Перевод по степенному ряду выглядит так:
А1 = 100100,10012 = 1 25 + 0 24 + 0 23 + 1 22 + 0 21 + 0 20 + 1 2-1 +
+ 0 2-2 + 0 2-3 +1 2-4 = 32 + 4 + 0,5 + 0,0625 = 36,562510;
А2 = 234,58 = 2 82 + 3 81 + 4 80 + 5 8-1 = 128 + 24 + 4 + 0,625 = 156,62510;
А3 = АВС,Е16 = 10 162 + 11 161 + 12 160 + 14 16-1 = 2560 + 176 + 12 +
+ 0,875 = 2748,87510.
2.5. Арифметические действия над двоичными числами
Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же правилам.
2.5.1. Сложение
Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
При сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда величина числа в нем становится равной или большей основания.
Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие.
|
1 |
1 |
0 |
+ |
|
1 |
1 |
1 |
0 |
0 |
1 |
Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим:
1102 = 1 22 + 1 21 + 0 20 = 610;
112 = 1 21 + 1 20 = 310;
610 + 310 = 910.
Переведем результат двоичного сложения в десятичное число:
10012 = 1 23 + 0 22 + 0 21 + 1 20 = 910 .
Сравним результаты – сложение выполнено правильно.
|
1 |
0 |
0 |
1 |
|
|
1 |
1 |
0 |
1 |
|
|
1 |
1 |
1 |
1 |
1 |
|
|
1 |
0 |
1 |
0 |
0 |
1 |
1 |
, |
1 |
1 |
1 |
+ |
1 |
0 |
1 |
0 |
|
+ |
1 |
0 |
1 |
1 |
|
+ |
0 |
0 |
0 |
0 |
1 |
|
+ |
|
|
1 |
1 |
0 |
0 |
1 |
, |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
|
|
1 |
1 |
0 |
1 |
1 |
0 |
1 |
, |
1 |
0 |
1 |