Реферат: Цифровые автоматы

Содержание

Введение

Глава 1.Представление данных в цифровых автоматах (ЦА)

1.1  Представление чисел в позиционных системах счисления (ПСС)

1.2 Формы представления данных в ЦА

1.3 Выполнение арифметических операций с целыми числами, представленнымив машинных кодах

1.4 Выполнение логических операций с целыми числами, представленными вмашинных кодах

Глава 2. Методы контроля работы ЦА

2.1.    Корректирующая способность кодов

2.2 Метод четности / нечетности. Коды Хеминга

2.3 Контроль по модулю

Глава 3. Построение алгоритма реализации численного метода «быстройсортировки»

3.1 Математическое описание метода

3.2 Таблица используемых переменных

Списокиспользуемых источников

Приложение1. Блок-схема алгоритма


Введение

В своей курсовой работе я ставлю следующие задачи:

–  научиться представлять данные в ЦА;

–  изучить методы контроля работы ЦА и научиться строить код Хемминга;

–  изучить реализацию алгоритма численного метода «быстрой сортировки» ипостроить его блок-схему.


Глава 1. Представление данных в цифровых автоматах (ЦА)

1.3  Представлениечисел в позиционных системах счисления (ПСС)

Системасчисления – это совокупность символов и правил их записи, необходимых длязаписи чисел.

В позиционной системе счисления вес символа зависит от позиции в которойрасположен символ. Например, число 222 – первый символ этого числа имеет вес200, второй – 20, третий – 2.

Основнойхарактеристикой ПСС является основание. Основание ПСС – это количество символовданной системы счисления, которые используются при составлении чисел. Взависимости от основания ПСС существует четыре основных системы счисления:двоичная, восьмеричная, десятеричная и шестнадцатеричная. Все эти системысчисления используются в ЦА и каждая имеет свои основные функции. Например,числа, записанные в двоичной системе счисления, используются в ЦА для операцийпроизводимых процессором: запись, считывание, сложение и т.д.; числа вшестнадцатеричной системе счисления – для адресации ячеек памяти.

Перевод чисел из одной ПСС в другую

При переводе чисел из десятичной системы счисления в систему соснованием P обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на P, послечего запоминается остаток от деления. Полученное частное вновь делится на P,остаток запоминается. Процедура продолжается до тех пор, пока частное не станетравным нулю. Остатки от деления на P выписываются в порядке, обратном ихполучению;

2) если переводится дробная часть числа, то она умножается на P,после чего целая часть запоминается и отбрасывается. Вновь полученная дробнаячасть умножается на P и т.д. Процедура продолжается до тех пор, покадробная часть не станет равной нулю. Целые части выписываются после двоичнойзапятой в порядке их получения. Результатом может быть либо конечная, либопериодическая двоичная дробь. Поэтому, когда дробь является периодической,приходится обрывать умножение на каком-либо шаге и довольствоватьсяприближенной записью исходного числа в системе с основанием P.

Переводчисла из системы счисления с основанием P1 всистему счисления с основанием P2, можновыполнить по такому же алгоритму, но все вычисления нужно проводить в системесчисления с основанием P1. Второй способперевести число можно в два этапа: переведя это число в десятеричную системусчисления, а затем из десятеричной в систему счисления с основанием P2.

Чтобы перевести число из системы счисления с основанием P
в десятичную систему счисления, нужно найти сумму произведенийсодержимого разряда на вес этого разряда в системе счисления с основанием P. Где разряд – номер позиции в числе, нумеруются справаналево, начиная с нуля; вес разряда – число, равное основанию системы счисленияв степени номера разряда.

Чтобыперевести число из двоичной системы счисления
в восьмеричную (шестнадцатеричную) систему счисления, нужно разбить число натройки (четверки) цифр, в случае необходимости следует дополнить целую идробную части числа нулями (целую слева, дробную справа). Затем заменитьполученные группы цифр соответствующими им восьмеричными (шестнадцатеричными)цифрами. Например, число 11010010.102 нужно перевести в восьмеричнуюсистему счисления. Разобьем число на тройки цифр: 011 010 010. 100, заменимтройки цифр на соответствующими им восьмеричными цифрами. Получим 11010010.102= 322.48

Чтобыперевести число из восьмеричной (шестнадцатеричной) системысчисления в двоичную систему счисления, нужно заменить каждую цифру числасоответствующими им тройками (четверками) двоичных цифр.


Задание.Осуществить перевод числа (А+В), представленного в 10-ой системе из однойсистемы счисления в другие, по схеме рисунка.

/>/>/>/>                   (А+В)10

(           )16

  /> /> /> /> /> /> /> /> <td/> /> <td/> /> />

(           )8

 

(           )2

 

(           )2

 

(           )10

 

(           )2

 

(           )16

 

(           )8

 

(           )8

 

(           )10

 

(           )10

  />     

/>

(           )16

 

Решение.

А+В=307+6.6=313.610

313.610 = ( )2

Сначала переводим целую часть числа, делим на основание 2:

313/2=156           остаток – 1;

156/2=78             остаток – 0;

78/2=39               остаток – 0;

39/2=19               остаток – 1;

19/2=8                 остаток – 1;

9/2=4                            остаток – 1;

4/2=4                            остаток – 0;

2/2=1                            остаток – 0;

Дальше делить нельзя, поэтому собираем все остатки, начиная с конца иучитываем конечный результат от деления т.е. 2/2=1. Получим 31310=1001110012

Теперь переводим дробную часть числа, умножаем на основание 2:

* 6 * 2 * 4 * 8 2 2 2 2 1 2 4 8 1 6

Получим 0.610 = 0.10012, значит,

31310 »100111001.10012

100111001.10012 = ( )8

Разобьем число на тройки цифр: 100 111 001. 100 100, заменим тройки цифрна соответствующими им восьмеричными цифрами т.е. 1002=48; 1112=78; 0012=18. Получим100111001.10012 =471.448

100111001.10012 = ( )10

 

1 1 1 1 1 . 1 1 Число 8 7 6 5 4 3 2 1 -1 -2 -3 -4 Разряды числа

100111001.10012 = 1*2-4 + 1*2-1 + 1*20+ 1*23 + 1*24 + 1*25 + 1*28 =

= 0.0652 + 0.5 + 1 + 8 + 16 + 32 + 256 = 313.565210 » 313.610

100111001.10012 = ( )16

Разобьем число на четверки цифр:0001 0011 1001. 1001, заменимчетверки цифр на соответствующими им шестнадцатеричными цифрами т.е. 00012=116;00112=316; 10012=916. Получим100111001.10012 =139.916

313.610 = ( )8

Сначала переводим целую часть числа, делим на основание 8:

313/8=39             остаток – 1;

39/8=4                 остаток – 7.

Получим 31310=4718

Теперь переводим дробную часть числа, умножаем на основание 8:

* 6 * 8 * 4 * 2 8 8 8 8 4 8 6 4 3 2 1 6

Получим 0.610 = 0.46318, значит,

31310 »471.46318

471.46318 = ( )2

Каждый символ числа 471.46318 запишем в двоичной системесчисления: 48=1002; 78=1112; 18=0012; 68=1102; 38=0112.

Получим 471.46318 = 100111001.1001100110012

471.46318 = ( )10

 

4 7 1 . 4 6 3 1 Число 2 1 -1 -2 -3 -4 Разряды числа

471.46318 = 1*8-4 + 3*8-3 + 6*8-2+ 4*8-1 + 1*80+ 7*81 + 4*82 =

= 0.0002 + 0.0058 + 0.0937 + 0.5 + 1 + 56 + 256 = 313.599710 » 313.610

471.46318 = ( )16

Перевод числа из восьмеричнойсистемы счисления в шестнадцатеричную проведем в два этапа: сначала переведемчисло в десятеричную систему счисления, затем из десятеричной вшестнадцатеричную. Перевод числа 471.46318 в десятеричную системусчисления уже осуществлен выше: 471.46318 = 313.610.Далее переведем 313.610 в шестнадцатеричную систему счисления:

313.610 = ( )16

Сначала переводим целуючасть числа, делим на основание 16:

313/16=19           остаток – 9;

19/16=1               остаток – 3.

Получим 31310=13916

Теперь переводим дробную часть числа, умножаем на основание 16:

* 6 * 6 16 16 9 6 9 6

Получим 0.610 = 0.9916, значит,

31310 » 139.9916

139.9916 = ( )2

Каждый символ числа 139.9916запишем в двоичной системесчисления: 116=00012; 316=00112;916=10012.

Получим 139.9916 =100111001.100110012

139.9916 = ( )8

Перевод числа изшестнадцатеричной системы счисления в восьмеричную будем выполнять в один этап,делая все вычисления в шестнадцатеричной системе счисления.

Сначала переводим целую часть числа, делим на основание 8:

139 8 100 27 – 39 38 1 /> /> /> /> 27 8 20 4 7

Дальше делить нельзя, поэтому собираем все остатки, начиная с конца иучитываем конечный результат от деления т.е. 20/8=4. Получим 13916 =4718

Теперь переводим дробную часть числа, умножаем на основание 8:

* 99 * С8 * 40 8 8 8 4 С8 6 40 2 00

Получим 0.9916 = 0.46208, значит,

139.9916 »471.46208

139.9916 = ( )10

еще рефераты
Еще работы по информатике, программированию