|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
КОНСПЕКТ ЛЕКЦИЙ 2 страница
Следовательно в памяти ЕС ЭВМ число -0,01(10) будет представлено шестнадцатеричным словом BF28F5C3. Задание 21. Представить число -43,375(10) в форме с ПЗ и смещённым порядком в коротком формате ЕС ЭВМ. Содержимое разрядной сетки представить 16-ричным словом. Задание 22. Представить число 17,1(10) в форме с ПЗ и смещённым порядком в длинном формате ЕС ЭВМ. Задание 23. Представить число -0,0625(10) в форме с ПЗ и смещённым порядком в коротком формате ЕС ЭВМ. Содержимое разрядной сетки представить 16-ричным словом. Задание 24. Содержимое 32-х разрядной сетки ЕС ЭВМ представлено словом С3180000(16). Определить какое десятичное число записано в разрядной сетке.
1.1.4. Представление алфавитно-цифровой информации. Используются различные системы соответствия символов (цифр, букв, математических и служебных знаков) их двоичному представлению. Это ДКОИ – двоичный код для обработки информации (8 разрядное представление символа), КОИ-8 – код обмена информацией (8 разрядов), КОИ-7 – код обмена информацией (7 разрядов).
Пример. Представить запись «СМ-4» в ДКОИ.
Система представления данных состоящих только из десятичных цифр использует двоично-десятичное кодирование. Соответствие десятичных цифр их 2-10-м кодам дано в таблице 1. Не используемые в таблице 1 комбинации (1010 – 1111) применяются для представления значков чисел и зоны в соответствии с табл. 2. Таблица 1
Таблица 2
Существуют два специальных формата для многоразрядных десятичных чисел: зонный формат
упакованный формат
В упакованном формате число байтов должно быть целым. Пример. Представить десятичное число -5901 в зонном и упакованном форматах ДКОИ.
Задание 25. Представить запись «A/B-I» в ДКОИ и КОИ-8 используя таблицы в [1]. Задание 26. Представить последовательность десятичных чисел -17+0-10 в зонном формате ДКОИ. Задание 27. Представить последовательность десятичных чисел +10-187-4 в упакованном формате КОИ-8.
Арифметические основы вычислительной техники. Так как двоичная С. С. и десятичная С. С. принадлежат к одному классу позиционных аддитивных С. С. с естественным порядком весов, то правила выполнения арифметических операций над числами в этих С. С. одинаковы. Пример. Выполнить четыре арифметических операции над числами А=1001(2) и В=11(2).
1.2. Арифметические основы вычислительной техники. 1.2.1. Прямой, обратный и дополнительный коды чисел. Коды целых и дробных чисел, представленных в форме с ФЗ, формируются одинаково. Вопрос о том, какое число закодировано – целое или дробное, решается по формату с которым работает ЭВМ. Прямой код представляет собой запись самого числа с соответствующим знаком. Знак «+» кодируется 0, а знак «–» кодируется 1 и записывается крайним слева (для наглядности будем выделять знаковый разряд рамкой). Обратный код положительного числа совпадает с его прямым кодом. Обратный код отрицательного числа формируется из прямого путём инвертирования цифр во всех разрядах за исключением знакового. Дополнительный код положительного числа совпадает с его прямым кодом. Дополнительный код отрицательного числа формируется добавлением единицы к младшему разряду обратного кода этого числа. Задание 28. Представить число -0,111(2) в прямом, обратном и дополнительных кодах. Задание 29. Представить число -10000(2) в прямом, обратном и дополнительных кодак.
1.2.2. Сложение и вычитание двоичных чисел. Сложение и вычитание чисел представленных в форме с ФЗ. Сложение и вычитание чисел А и В в форме с ФЗ сводится в ЭВМ к суммированию обратных или дополнительных кодов этих чисел с учётом знаков. При суммировании дополнительных кодов чисел А и В сумма S получается в дополнительном коде: Адоп+Вдоп=Sдоп. При суммировании обратных кодов чисел А и В сумма S получается в обратном коде: Аобр+Вобр=Sобр всегда, за исключением случая, когда В<0. В этом случае, если есть перенос из знакового разряда, нужна коррекция результата суммирования S’ путём добавления 1 к его младшему разряду, т. е. при B<0: Аобр+Вобр=S’+1=Sобр. Для этого используется перенос из знакового разряда. Пример. Выполнить суммирование чисел в обратном и дополнительном кодах при всех возможных комбинациях знаков. Представим результаты вычислений таблицей и в каждой графе проведём проверку результата переводом его в прямой код Sпр.
Задание 30. Выполнить суммирование чисел -7 и 5 в обратном и дополнительном кодах. Задание 31. Выполнить суммирование чисел 14 и -10 в обратном и дополнительных кодах. Задание 32. Выполнить суммирование чисел -8 и -6 в обратном и дополнительных кодах. При выполнении операции суммирования кодов чисел, представленных в форме с ФЗ, возможно переполнение разрядной сетки ЭВМ. Существуют следующие признаки переполнения: - одинаковые знаковые разряды слагаемых отличаются от знака результата; - в процессе суммирования значение переносов из старшего и из знакового разрядов не совпадают. Пример. Определить факт переполнения разрядной сетки ЭВМ при суммировании чисел представленных в обратном и дополнительном кодах при всех возможных комбинациях знаков. Переполнение возможно лишь при равенстве знаков суммируемых чисел поэтому рассмотрим лишь пары чисел А>0, B>0 и A<0, B<0.
В обоих случаях произошло переполнение выявляемое по любому из приведённых выше признаков. Например, знак результата в каждом случае отличается от знаковых разрядов слагаемых, а значения переносов не совпадают. Задание 33. Определить, возникнет ли переполнение разрядной сетки при суммировании чисел 7(10) и 11(10). Задание 34. По какому признаку можно определить факт переполнения разрядной сетки при суммировании чисел -13(10) и -8(10).
Сложение и вычитание чисел, представленных в форме с ПЗ. Выполнение операций сложения и вычитания двоичных чисел и в форме с ПЗ аналогично соответствующим операциям над числами в форме с ФЗ, если выполняется условие РА=РВ. Если , то необходимо: - провести предварительное выравнивание порядков, что приводит к денормализации одной из мантисс; - провести нормализацию результата операции, если мантисса результата или МS<0,5. При нужна нормализация вправо, а при МS<0,5 – нормализация влево. Признаком необходимости нормализации вправо является переполнение поля разрядной сетки, отводимое под МS. Это возможно лишь при суммировании чисел с одинаковыми знаками. Признаком необходимости нормализации влево является совпадение цифр в знаковом разряде и старшем разряде мантиссы. Это возможно лишь при суммировании чисел с разными знаками, т. е. при представлении мантисс в обратном или дополнительных кодах. Пример. Выполнить суммирование двоичных чисел и В данном случае , следовательно проведём предварительное выравнивание порядков. , . Так как A>0 и B>0, то выполним суммирование в прямом коде (мантиссы суммируются в прямом коде)
Так как 0,5<MS<1, то нормализация результата не требуется и получим . Пример. Выполнить суммирование двоичных чисел и с представлением мантиссы шестью разрядами. Так как РА=РВ, то выравнивание порядков не требуется. Для случая В>0 нахождение суммы S проведём используя прямой код.
Так как возникло переполнение поля разрядной сетки, отведённого под мантиссу, проведём нормализацию результата вправо на один разряд, соответственно увеличив значение порядка на единицу, т. е.
В итоге получим результат Для случая В<0 нахождение суммы S проведём используя дополнительный код (мантиссы суммируются в дополнительном коде).
Так как возникло совпадение цифр в знаковом разряде и старшем разряде мантиссы, то проведём нормализацию результата влево на два разряда, соответственно уменьшив значение порядка на два, т. е.
В итоге получим результат Задание 35. Выполнить суммирование двоичных чисел и . Задание 36. Выполнить суммирование двоичных чисел +1101,11 и -1000,01 в форме с ПЗ. Задание 37. Выполнить суммирование двоичных чисел и .
1.2.3. Сложение и вычитание чисел в двоично-десятичных кодах (Д-кодах).
Соответствие десятичных цифр их двоично-десятичным кодам дано таблицей. Такое кодирование применяется при записи десятичных чисел в зонном и упакованном формате. Сложение чисел в Д-кодах сводится к суммированию тетрад, соответствующих их разрядам, по правилам двоичной арифметики и коррекции тетрад суммы. Для тетрад суммы, значение которых превышают 1001, необходимо организовать перенос в следующую тетраду и выполнить коррекцию. Коррекция представляет собой вычитание 1010, что соответствует сложению тетрады с 0110 без переноса (т. к. 0110 есть дополнительный код числа 1010). Пример. Определить сумму чисел А=753(10) и В=439(10) в двоично-десятичном коде. Представим числа А и В в Д-коде и выполним суммирование:
,что соответствует 1192(10). Вычисление чисел в Д-кодах выполняется так же, как и вычисление двоичных чисел, т. е. вычисляемое представляется в дополнительном коде, а операция вычисления сводится к сложению. Дополнительный код числа, представленного Д-кодом, формируется дополнением каждой тетрады до 1001 и добавлением к младшей тетраде единицы. Пример. Определить разность чисел А=753(10) и В=439(10) в двоично-десятичном коде. Представим число В в дополнительном коде
Теперь выполним операцию S=А-В=А+Вдоп.
, что соответствует 314(10). Задание 38. Выполнить сложение чисел 280(10) и 157(10) в Д-коде. Задание 39. Определить разность чисел 1092(10) и 956(10) в Д-коде.
1.2.4. Умножение и деление двоичных чисел. Ограничимся рассмотрением выполнения операций умножения и деления над двоичными числами в прямом коде с учётом их знаков. Эти операции выполняются с многократным применением операций сложения и сдвига и могут быть реализованы схемой показанной на рисунке.
Операция умножения чисел А и В выполняется в несколько тактов. Множимое А записывается в Рег.1, а множитель В в Рег.3. Рег.2 предварительно устанавливается в 0. На каждом такте анализируется содержимое старшего (левого) разряда Рег.3. Если в нём находится 1-ца, то производится общий сдвиг влево содержимого Рег.3 и Рег.2 (с переносом между ними) и суммирование содержимого регистров Рег.1 и Рег.2 с занесением результата в Рег.2. Если в старшем разряде Рег.3 находится 0, то производится лишь сдвиг влево содержимого Рег.3 и Рег.2. Число тактов равно числу разрядов множителя В. В результате произведение будет располагаться в Рег.3 и Рег.2. Код знака результата операции умножения получаем суммированием по mod2 кодов знаков сомножителей (логическая функция сложения по mod2 показана далее). Пример. Выполнить умножение чисел А=11(10)=1011(2) и В=13(10)=1101(2).
Для наглядности последующих действий предварительно умножим числа «в столбиках». Теперь рассмотрим выполнение операции умножения схемой, представленной на рис. 1. Операция проводится в 4 такта (число В четырёхразрядное).
Начальное содержимое регистров:
Такт 1. Так как в старшем разряде Рег.3 находится 1-ца, то производится сдвиг содержимого Рег.3 и Рег.2 и суммирование содержимого Рег.1 и Рег.2 с записью результата в Рег.2.
Такт 2. В старшем разряде Рег.3 опять 1-ца, следовательно, в результате сдвига и суммирования получим:
Такт 3. В старшем разряде Рег.3 находится 0, поэтому производится только сдвиг.
Такт 4. В старшем разряде Рег.3 опять 1-ца. Выполняются сдвиг и суммирование.
Проверим правильность выполнения умножения. 10001111(2)=143(10), т. е. Задание 40. Выполнить операцию умножения чисел 14(10) и -9(10) реализуя алгоритм работы схемы рис. 1. Задание 41. Выполнить операцию умножения чисел -19(10) и -7(10), реализуя алгоритм работы схемы рис. 1.
Операция деления чисел А и В выполняется схемой рис. 1 также за несколько тактов. Делимое А располагается одновременно в Рег.3 и Рег.2, а делитель В в Рег.1. На каждом такте сравнивается содержимое Рег.3 и Рег.1. Если число в Рег.3 больше числа в Рег.1, то производится: - вычитание из содержимого Рег.3 содержимого Рег.1 с записью результата в Рег.3; - общий сдвиг влево содержимого Рег.3 и Рег.2 (с переносом между ними); - запись 1-цы в младший разряд Рег.2. Если число в Рег.3 меньше числа в Рег.1, то производится лишь сдвиг влево содержимого Рег.3 и Рег.2. Итоговый результат операции деления будет располагаться в Рег.2. Код знака результата операции деления получается аналогично коду знака результата операции умножения. Пример. Выполнить деление числа 143(10)=10001111(2) на число 11(10)=1011(2).
Для наглядности последующих действий предварительно разделим числа «в столбик». Теперь рассмотрим выполнение операции деления схемой, представленной на рис.1. Начальное содержимое регистров: Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.021 сек.) |