
- •Структура современной информатики:
- •Обще социальные:
- •Правовые аспекты
- •Морально-этические аспекты:
- •Понятие информации
- •Естественные методы восприятия и обработки данных
- •Свойства информации:
- •Вероятностный
- •Количественный
- •Перевод целых и дробных чисел по правилам
- •Перевод целых и дробных чисел по степенному ряду
- •Перевод целых и дробных чисел по схеме Горнера
- •7. Сложение и вычитание двоичных, восьмеричных и шестнадцатеричных чисел.
- •8. Умножение и деление двоичных, восьмеричных и шестнадцатеричных чисел.
- •9. Кодирование информации в эвм.
- •Классификационное кодирование
- •Регистрационное кодирование
- •10. Сущность и назначение машинных кодов – прямой, дополнительный, обратный.
- •11. Формы и форматы представления числовых данных в эвм – естественная форма, нормальная форма, порядок, характеристика.
- •12. Действия над числами в естественной форме.
- •13. Действия над числами в нормальной форме.
- •14.Определение цифровой эвм и принцип ее работы
- •Принципы Джона Фон Неймана
- •15. Состав и основные характеристики современного пк.
- •16. Функционирование основных устройств пк
- •17. Шинная организация
- •18.Канальная организация
- •20. Условные операторы позволяют выбирать для выполнения те или иные
- •21. Циклы
- •22. Обработка одномерных и двумерных массивов
12. Действия над числами в естественной форме.
Числа в естественной форме в памяти хранятся в дополнительном коде.
В сумматоре числа складываются вместе со знаками, при этом образуется знак результата.
При сложении чисел с разными знаками единица переноса из знакового разряда стирается, то есть компенсируется константа дополнительного кода.
При сложении чисел с одинаковыми знаками признаками переполнения разрядной сетки являются:
знак суммы не соответствует знакам слагаемых;
переносы из старшего разряда суммы в знаковый и из знакового за пределы разрядной сетки не согласуются.
Пример. A10 = 254 = A16 = FF = 111111102
B10 = 175 = B16 = AF = 101011112
Работаем в двух байтах. Составляем коды.
Aпр = 0000000011111110 -Aдоп = 1111111100000010
Bпр = 0000000010101111 -Bдоп = 1111111101010001
C1 = A + B Aпр = 0000000011111110
Bпр = 0000000010101111
0000000110101101>0
C2 = A – B Aпр = 0000000011111110
-Bдоп = 1111111101010001
10000000001001111>0
C3 = B – A Bпр = 0000000010101111
-Aдоп = 1111111100000010
1111111110110001 – дополнительный код
C4 = -A – B -Aдоп = 1111111100000010
Bдоп = 1111111101010001
11111111001010011
При получении сумм двух чисел с одинаковыми знаками переполнение разрядной сетки не произошло, так как знак суммы совпадает со знаками слагаемых и переносы из старшего разряда в знаковый и из знакового согласуются.
При получении сумм C2 и C4 образуется перенос из знакового разряда, который необходимо исключать.
Суммы C1, C2 – положительные, C3, C4 – отрицательные. C3, C4 хранятся в памяти в дополнительном коде, то есть без преобразования.
A10 = 25756 = A16 = 649C
B10 = 7125 = B16 = 1BD5
С1 = A + B C2 = -A – B
AПК = 0110010010011100
+BПК = 0001101111010101
1000000001110001
AДК = 1001101101100100
+BДК = 1110010000101011
10111111110001111
215 – 1 = 32767
В обоих примерах произошло переполнение разрядной сетки за допустимые пределы: знаки сумм не соответствуют знакам слагаемых и переносы из старшего разряда в знаковый и из знакового разряда не согласуются.
13. Действия над числами в нормальной форме.
Числа в нормальной форме хранятся в памяти в прямом коде с нормализованными мантиссами.
Сложение чисел проводится путём сложения их мантисс при одинаковых характеристиках слагаемых. За общий выбирается наибольший порядок. Выравнивание порядков слагаемых проводится путём сдвига вправо мантиссы меньшего числа.
PA > PB P = PA - PB PB = PA - P
При сложении мантисс с одинаковыми знаками возможно переполнение разрядной сетки, что будет являться нарушением нормализации влево. Для его устранения необходим сдвиг мантиссы на один разряд вправо и, соответственно, увеличение характеристики на 1.
Результаты в прямом коде нормализуются.
Действия в сумматоре выполняются над кодами мантисс, которые поступают из регистров в младшие 24 бита сумматора, знаки мантисс и характеристики заносятся в специальные схемы, которые обеспечивают выравнивание характ., норм. мантиссы рез., формирование знака результата и характеристики результата. Старшие разряды сумматора 24-31 заполняются нулями.
Алгоритмы сложения после выравнивания характеристик зависят от знаков слагаемых:
если знаки одинаковые, модули мантисс (прямые коды) суммируются. Переполнение определяется наличием переноса единицы из старшего разряда мантиссы в 24 бит, что вызывает нарушение нормализации мантиссы влево. Нормализация проводится сдвигом на одну шестнадцатую вправо. Старшая тетрада мантиссы заполняется кодом 0001. Характеристика результата увеличивается на 1. В регистре результата сумматора формируется результат операции: схема анализа знака и характеристик. В 31-й заносят знак результата. В 30-24 – характеристика. 23-0 – мантисса в прямом коде;
если знаки слагаемых различны, отрицательная мантисса преобразуется в дополнительный код и мантиссы суммируются. Признаком положительного результата является перенос из старшего разряда мантиссы в младший характеристики, который стирается. Признаком отрицательного результата – его отсутствие. При этом мантисса представляется в дополнительном коде и должна быть преобразована в прямой. При сложении чисел с разными знаками возможно нарушение нормализации мантиссы вправо, тогда старшая 16-ая цифра мантиссы равна нулю. Нормализацию проводят сдвигом на 16-ую цифру влево и уменьшением характеристики на 1. После этого в регистре формируется результат. Знаковый разряд заносят в знаковый разряд большего по модулю слагаемого.
A = 15 7/8; B = 5/16;
A16 = F,E; B16 = 0,5;
mA = 0,FE; pA = 40 + 1 = 41;
mB = 0,5; pB = 40;
m*B = 0,05;
C1 = A + B;
mAпк = 00’FE0000; pA = 41;
m*Bпк = 00’050000; pB = 41;
mC1пк = 00’103000; pC1 = 41 + 1 = 42;
Единица переноса из старшего разряда в характеристику характеризует переполнение разрядной сетки. Это нарушение нормализации влево. Мантиссу необходимо сдвинуть на одну 16-ую вправо, порядок увеличить на 1.
C1 = 15 7/8 + 5/16 = 16 3/16;
C1 01000010000100000011000000000000;
42103000;
C2 = -A – B = -(A + B);
Мантисса складывается в прямых кодах, в знаковый разряд результата записывается знак одного из слагаемых.
C2 11000010000100000011000000000000;
С2103000;
C3 = A – B; C4 = B – A;
m*Bдк = 01’000000 mAпк = 00’FE0000 pA = 41
-00’050000 m*Bдк = 00’FB0000 pB = 41
00’FB0000 mC3 = 01’F90000 pC3 = 41
Так как слагаемые имеют разные знаки, то единица переноса из старшего разряда мантиссы является признаком положительного результата и должна быть стёрта для компенсации константы дополнительного кода.
С3 = 01000001111110010000000000000000
mAдк = 01’000000 mAдк = 00’020000 pA = 41
-00’FE0000 m*Bпк = 00’050000 pB = 41
00’020000 00’070000 pC4 = 41
Переноса из старшего разряда мантиссы нет, поэтому результат отрицательный находится в дополнительном коде и должен быть переведён в прямой.
1,000000
-0,070000
0,FE0000
C4 11000001111110010000000000000000
С1F90000