ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.06.2021

Просмотров: 304

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ МЕНЕДЖМЕНТА

Кафедра Инноватики и информационных технологий

Задания

для выполнения контрольной работы по дисциплине

«ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ»


Введение

Аппаратная часть IBM-совместимого компьютера в настоящее время представлена широким спектром оборудования, объединяемого единым архитектурным подходом – Intel Architecture IA-32. Особенностью IA-32 является обеспечение совместимости системы машинных команд с оборудованием более раннего выпуска, а также стандартизация процессов обработки и обмена данными между различными устройствами.

В курсе дисциплины «Организация ЭВМ и систем» рассматриваются вопросы организационного построения и функционирования процессора, памяти, каналов ввода-вывода, портов обмена данными, периферийного оборудования.

Выполнение контрольной работы имеет целью закрепление навыков разработки программ с помощью языка программирования низкого уровня Assembler или языке программирования высокого уровня (С++, Pascal и др.) При этом в ходе работы над КР студент должен решить следующие задачи:

  1. Разработать блок-схему алгоритма программы (в зависимости от варианта задания).

  2. Разработать программу на языке программирования высокого уровня любой доступной версии.

  3. Исследовать и описать этапы работы разработанной программы.

  4. Оформить отчет о выполненной работе в соответствии с требованиями стандарта предприятия.

Выполнение задания осуществляется в соответствии с указанным преподавателем вариантом.

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


Разработка программ обработки данных в различных системах счисления

Содержание

I. Теоретические сведения

I.1. Системы счисления и основные операции с числами в системах счисления современного компьютера.

II. Перечень вариантов заданий к контрольной работе №1.

III. Порядок выполнения, оформления отчета и защиты лабораторной работы.

IV. Материальное обеспечение.

V. Литература.


I. Теоретические сведения

I.1. Системы счисления и основные операции с числами в системах счисления современного компьютера

Двоичная система счисления

Набор цифр для двоичной системы счисления — {0,1}, основание степени (р) — 2. Количественный эквивалент некоторого целого n-значного двоичного числа вычисляется согласно формуле (1):

A(p) = an-1pn-1 + an-2pn-2 + …+ a1p1 + a0p0, (1)

где р – основание системы счисления; а – цифра данной системы счисления; n – номер старшего разряда числа. Для двоичной системы счисления

A(p) = an-12n-1 + an-22n-2 + …+ a121 + a020

Как мы уже отмечали, наличие этой системы счисления обусловлено тем, что компьютер построен на логических схемах, имеющих в своем элементарном виде только два состояния — включено и выключено.

Сложение и вычитание двоичных чисел (рис. 1) выполняется так же, как и в других позиционных системах счисления, например десятичной. Точно так же выполняется заем (перенос) единицы из старшего разряда (в старший разряд).

Рис.1.

Шестнадцатеричная система счисления

Шестнадцатеричная система счисления имеет набор цифр {0, 1, 2, ..., 9, А, В, С, D, Е, F} и основание степени (р) — 16.

Количественный эквивалент некоторого целого к-значного шестнадцатеричного числа вычисляется согласно формуле:

A(p) = an-116n-1 + an-216n-2 + …+ a1161 + a0160

Соответствие двоичных чисел и их десятичных и шестнадцатеричных эквивалентов приведено в (табл. 1).

Таблица 1. Шестнадцатеричные цифры

Десятичное число

Двоичная тетрада

Шестнадцатеричное число

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

А, а

11

1011

В, b

12

1100

С, с

13

1101

D, d

14

1110

Е, е

15

1111

F, f

16

10000

10

Шестнадцатеричная система счисления при вычислениях несколько сложнее, чем двоичная, в частности, в том, что касается правил переносов в старшие разряды (заемов из старших разрядов), при этом используется следующее равенство:

(1 + F=10)16.

Эти переходы очень важны при выполнении сложения и вычитания шестнадцатеричных чисел (рис. 2).

Рис. 2.

Десятичная система счисления

Десятичная система счисления наиболее известна, так как она постоянно используется нами в повседневной жизни. Данная система счисления имеет набор цифр {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} и основание степени (р) – 10.

Количественный эквивалент некоторого целого n-значного десятичного числа вычисляется согласно формуле:

A(p) = an-110n-1 + an-210n-2 + …+ a1101 + a0100

Перевод чисел из одной системы счисления в другую

Перевод в десятичную систему счисления

Перевод в десятичную систему счисления является самым простым. Обычно его производят с помощью так называемого алгоритма замещения, суть которого заключается в следующем: сначала в десятичную систему счисления переводится основание степени р, а затем – цифры исходного числа. Результаты подставляются в формулу (1). Полученная сумма и будет искомым результатом. Неявно при обсуждении двоичной и шестнадцатеричной систем счисления мы производили как раз такое преобразование.


Перевод в двоичную систему счисления

Перевод из десятичной системы счисления

Перевод числа в двоичную систему счисления из десятичной выполняется по описанному далее алгоритму.

1. Разделить десятичное число А на 2. Запомнить частное q и остаток а.

2. Если в результате шага 1 частное q не равно 0, то принять его за новое делимое и отметить остаток а, который будет очередной значащей цифрой числа, и вернуться к шагу 1, на котором в качестве делимого (десятичного числа) участвует полученное на шаге 2 частное.

3. Если в результате шага 1 частное q равно 0, алгоритм прекращается. Выписать остатки в порядке, обратном их получению. Получится двоичный эквивалент исходного числа.

Наример, перевод в двоичную систему счисления числа 24710 иллюстрирует рис. 3. Порядок обхода остатков для получения результата ( 1 1 1 101 1 12) показан стрелками.

Рис. 3.

Перевод из шестнадцатеричной системы счисления

Перевод из шестнадцатеричной системы счисления заключается в последовательной замене шестнадцатеричных цифр соответствующими двоичными тетрадами, согласно табл.1. К примеру, двоичное число, соответствующее числу e4d516, равно 1110 0100 1101 01012.

Перевод в шестнадцатеричную систему счисления

Перевод из десятичной системы счисления

Общая идея алгоритма перевода из десятичной системы счисления в шестнадцатеричную аналогична рассмотренной ранее в алгоритме перевода в двоичную систему счисления из десятичной.

1. Разделить десятичное число А на 16. Запомнить частное q и остаток а.

2. Если в результате шага 1 частное q не равно 0, то принять его за новое делимое, записать остаток и вернуться к шагу 1.

3. Если частное q равно 0, прекратить работу алгоритма. Выписать остатки в порядке, обратном их получению. Получится шестнадцатеричный эквивалент исходного десятичного числа.

К примеру, перевод в шестнадцатеричную систему счисления числа 3276710 иллюстрирует рис. 4. Порядок обхода остатков для получения результата (7fff16) показан стрелками.

Рис. 4

Перевод из двоичной системы счисления

Идея алгоритма состоит в том, что двоичное число разбивается на тетрады начиная с младшего разряда. Далее каждая тетрада приводится к соответствующему шестнадцатеричному числу, согласно табл. 1.

К примеру, пусть требуется перевести в шестнадцатеричную систему счисления следующее число:

111001011010111101011000110110001111010101011012.

Разобьем его на тетрады:

0111 0010 1101 0111 1010 1100 0110 1100 0111 1010 1010 1101

По тетрадам приводим последовательности нулей и единиц к шестнадцатеричному представлению:

72d7ac6c7aad.

То есть в результате преобразования мы получим шестнадцатеричное число

72d7ac6c7aad16.

Перевод дробных чисел

Программист должен уметь выполнять перевод в различные системы счисления не только целых чисел, но и дробных чисел. Особенно важно это при программировании алгоритмов, использующих операции с плавающей точкой. Без владения в полной мере знаниями о том, как представляются дробные числа в памяти компьютера и в регистрах сопроцессора, вам вряд ли удастся овладеть программированием на ассемблере в полной мере. Давайте разберемся с наиболее часто используемыми на практике способами перевода дробных чисел. Для этого формулу (17) преобразуем к следующему виду: