Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания на ПЗ по информатике.doc
Скачиваний:
3
Добавлен:
24.11.2019
Размер:
275.46 Кб
Скачать

3.6 Методические указания для работы студентов на практическом занятии

  • Преподаватель проверяет уровень подготовки студентов к практи­ческому занятию.

  • Под руководством преподавателя студенты разбирают вопросы, вынесенные на самостоятельную подготовку.

  • Студенты самостоятельно выполняют предложенные преподавателем индивидуальные задания по переводу чисел в указанные системы счисления.

  • Преподаватель подводит итоги занятия.

3.7 Индивидуальные задания

Раздать индивидуальные задания из банка заданий. (Можно задания привязать к индивидуальным данным студентов, например, к дате рождения – 7 июня, х=706).

Для указанного числа выполнить перевод в заданные системы счисления (обязательно указать с основанием 2k), например, в пятеричную, восьмеричную, шестнадцатеричную с обратной проверкой. При переводе числа в шестнадцатеричную систему счисления обратить внимание на обязательное использование результатов перевода в восьмеричную систему.

4 Практическое занятие №4

4.1 Тема практического занятия

Дополнительный код. Выполнение операций в дополнительных кодах.

4.2 Цель практического занятия

Приобретение практических навыков по представлению чисел и выполнению операций в дополнительных кодах.

4.3 Рекомендуемая литература

  1. Информатика. Базовый курс. 2-е изд. / Под ред. С.В. Симоновича. СПб.: Питер, 2007. – 640 с.

  2. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПб.: Питер, 2004. – 620с.

  3. Симонович С.В. Общая информатика, Новое издание. – СПб.: Питер, 2007. – 428 с.

  4. Акулов О.А., Медведев Н.В. Информатика: базовый курс – М.: Омега-Л, 2007. – 560 с.

  5. Родина Н.В. Информатика: учебное пособие, ч.1. – М.: МГУПИ, 2006. – 103 с.

4.4 Самостоятельная работа студентов при подготовке к практическому занятию

  1. Ознакомиться с целями практического занятия.

  2. Изучить теоретические основы, обращая особое внимание на следующие вопросы:

    • Дополнение числа в позиционной системе счисления и его свойства.

    • Дополнительный код числа в позиционной системе счисления.

    • Особенности выполнения операций сложения/вычитания в дополнительных кодах.

4.5 Теоретический материал по теме практического занятия

Дополнение числа и его свойства.

Дополнением (D) k–разрядного целого числа Z(р) в системе счисления с основанием р называется величина D(Zp, k) = рk – Z.

Данную формулу можно представить в ином виде:

D(Zp, k) = ( (рk 1) – Z) + 1. Число (рk 1) состоит из k наибольших в данной системе счисления цифр (р1), например, 999(10) , FFF(16) или 11111(2).

Поэтому дополнение числа Z может быть получено путем дополнения до (р  1) каждой цифры числа Z и последующим прибавлением к последнему разряду 1.

Например, дополнение числа 278(10) D(278(10), 3) = 7 2 1 + 1 = 722.

(дополнение 2 до 9 – 7, 7 до 9 – 2, 8 до 9 – 1).

Важным свойством дополнения является то, что его сумма с исходным числом в заданной разрядной сетке будет равна 0.

В рассматриваемом примере

278 + 722 = 1 000 (выделенную 1 отбрасываем, она не входит в отведенную разрядную сетку k=3).

Так как в двоичной системе счисления дополнением 1 является 0, а дополнением 0 является 1, то построение D(Z2, k) сводится к инверсии данного числа (т.е. замене нулей единицами, и единиц нулями), и прибавлению 1 к последнему разряду.

Кодирование целых чисел, имеющих знак, можно осуществить двумя способами. В первом варианте один (старший) разряд в машинном слове отводится для записи знака числа; при этом условились кодировать знак «+»  нулем, «»  единицей.

Под запись самого числа остается (k-1) двоичных разрядов, что обеспечивает наибольшее значение числа Zmax = 2k-1. Например, для k=16, Zmax = 215 – 1 = 3276710.

Такое представление чисел называется прямым кодом.

Например,  36(10) = 10010100 (знаковый разряд выделен),

+ 36(10) = 00010100 .

Однако применение прямого кода усложняет порядок обработки чисел – например, операция сложения двух чисел с разными знаками должна быть заменена операцией вычитания меньшего из большего с последующим присвоением результата знака большего по модулю числа. Таким образом, операция сопровождается большим количеством проверок условий и выработкой признаков, в соответствии с которыми выбирается то или иное действие.

Альтернативным вариантом является представление чисел со знаком в дополнительном коде (ДК). Его применение позволяет заменить вычитание чисел их суммированием в дополнительных кодах.

Дополнительный код (ДК) целых чисел строится по следующим правилам:

п ервый разряд кодирует знак: знаку «+» соответствует 0, знаку «–» самой большой цифре в данной системе счисления;

для Zp  0 ДК совпадает с самим числом ДК = Zp;

для Zp < 0 ДК совпадает с дополнением модуля числа, то есть, ДК = D(|Zp|).

Пример 1. Построить дополнительные коды заданных чисел. (Код знака отделен от кода числа).

1235(10) ДК = 0 1235 8632(16) ДК = 0 8632

 1235(10) ДК = 9 8765  8632(16) ДК = F 79CЕ

 5790(10) ДК = 9 4210 10211(3) ДК = 0 10211

 3204(5) ДК = 4 1241  10211(3) ДК = 2 12012

Пример 2. Построить дополнительный код чисел в двоичной системе.

 10110111(2) ДК = 1 01001001.

 11001101(2) ДК = 1 00110011.

Пример 2 позволяет сформулировать правило «механического» перевода в ДК отрицательных двоичных чисел: находим крайнюю правую 1, ее оставляем, а все цифры перед ней – инвертируем.

Так, для числа  1110001101(2) ДК = 1 0001110011.

При использовании дополнительных кодов операция вычитания двух чисел как самостоятельная отсутствует – она заменяется сложением первого числа с дополнительным кодом второго, то есть просто сложением двух ячеек памяти. Знаковый разряд участвует в операциях по правилам сложения в соответствующей системе счисления. Покажем это на примерах.

Пример 3. Найти сумму (X + Y), если:

а) X = 126(10) 0 126

Y =  26(10) 9 974

0 100

знак результата «+» (код 0), результат +100(10) .

б) X =  512(10) 9 488

Y =  390(10) 9 610

9 098

Знак результата «» (код 9), результат в дополнительном коде. Перевод отрицательного числа из дополнительного кода в прямой дает результат  902(10).

в) X =  850(10) 9 150

Y = + 429(10) 0 429

9 579

знак «», результат в ДК, обратный перевод в прямой код  421(10).

г) X =  2101(3) 2 0122

Y = + 1011(3) 2 1011

2 1210

результат «», результат  1020(3).

д) X = + 500(10) 0 500

Y = + 739(10) 0 739

1 239

ж) X =  500(10) 9 500

Y =  739 (10) 9 261

8 761

!!! Признак переполнения – значение знакового разряда не равно 0 или максимальной цифре в системе счисления.

Для двоичной системы счисления признак переполнения определяется как отрицательный знак результата при сложении двух положительных чисел и наоборот – положительный знак результата при сложении двух отрицательных чисел.

Пример 4. Представить числа в ДК с учетом разрядной сетки 1 байт и выполнить операцию сложения.

X =  3(10) 11111101

Y = + 3(10) 00000011

00000000  +0