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

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

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

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

2021-04-19 89
Представление чисел в позиционных системах счисления (ПСС) 0.00 из 5.00 0 оценок
Заказать работу

Содержание

 

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 


Введение

 

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

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

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

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

 


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

 

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

 

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

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

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

Решение.

А+В=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   0 4   0 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 0 0 1 1 1 0 0 1 . 1 0 0 1 Число
8 7 6 5 4 3 2 1 0   -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 0   -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

1 3 9 . 9 9 Число
2 1 0   -1 -2 Разряды числа

 

139.9916 = 9*16-2 + 9*16-1 + 9*160 + 3*161 + 1*162 = 0.0351 + 0.5625 + 9 + 48 + 256 = 313.597610» 313.610

 

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

Операции над числами в двоичной, восьмеричной, шестнадцатеричной системе счисления выполняются по тем же правилам, что и арифметические операции над числами в десятеричной системе счисления.

 

Задание

А) Сложить числа (А)16 и (В)16

(А)10 = 30710 = 13316 (В)10 = 6.610 = 6.9916

 

+

133.00
6.99
  139.99

 

Б) Вычесть из числа (А)8 число (В)8

(А)10 = 30710 = 4638 (В)10 = 6.610 = 6.468

 

463.00
6.46
  454.31

 

В) Умножить числа (С)2 и (В)2

(С)10 = 9110 = 10110112     (В)10 = 6.610 = 110.10012

*

1011011
110.1001

1011011

+ 1011011000

101101100000

1011011000000

 

1001010101.0011

     

 

В) Разделить число (С)2 на (В)2

(С)10 = 9110 = 10110112     (В)10 = 6.610 = 110.12

 

1011011 110.1

 Þ

   

10110110

1101
01101

 

1110.0

010011

 

001101

   

0001101

 

0001101

 

0000000

 
       

 

 

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

 

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

При числовом методе код заданного числа определяется как наименьший положительный остаток от деления числа на выбранный модуль. Например, определить контрольный код числа 160 по модулю 6. Для этого делим 160 на 6, получаем остаток – 4.

При цифровом методе контроля, контрольный код числа образуется делением суммы цифр числа на выбранный модуль. Например, определить контрольный код числа 160 по модулю 6. Сумма цифр числа 160 равна 7, делим ее на 6. Получим остаток 1, значит это, контроль числа 160 по модулю 6, при цифровом методе контроля.

Числовой метод контроля

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

Операцию сдвига можно представить как передачу слова из i-го разряда в (i+x) разряд. Поэтому, контроль сдвига можно осуществить по методу четности / нечетности.

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

KA = A mod P                   KB = B mod P

KA+B = (A + B) mod P = (KA + KB) mod P

KA*B = (A * B) mod P = (KA * KB) mod P

Например, найдем контрольный код чисел A, B и контрольный код арифметических операций над ними, получим:

 

A B A + B A – B A * B Арифметические операции над числами
89 57 146 33 5073 Значение чисел
8 3 2 6 6 Контроль по модулю 9

 

Проверка выполненных операций:

– ошибка, значит эта операция выполненна не верно;
KA+B = (8 + 3) mod 9 = 2 – нет ошибки;

KAB = (8 – 3) mod 9 = 5

 

KA*B = (8 * 3) mod 9 = 6   – нет ошибки.

 

Задание. Определить контрольные коды чисел A и C по модулю P, а также контрольные коды суммы A + C и разности A – C.

 

КА = 307 mod 9 = 1;

KC = 91 mod 9 = 1;

KA+C = (307+91) mod 9 = 398 mod 9 = 2;              проверка:

KA+C = (1 + 1) mod 9 = 2 mod 9 = 2                       – нет ошибки.

KAC = (307–91) mod 9 = 216 mod 9 = 0;     проверка:

KAC = (1 – 1) mod 9 = 0 mod 9 = 0                       – нет ошибки.

 

Цифровой метод контроля

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

Задание. Определить контрольные коды чисел A и C по модулю P, а также контрольные коды суммы A + C и разности A – C.

 

КА = (3+0+7) mod 9 = 1;

KC = (9+1) mod 9 = 1;

KA+C = (3+0+7+9+1) mod 9 = 20 mod 9 = 2; проверка:

KA+C = (1 + 1) mod 9 = 2 mod 9 = 2                       – нет ошибки.

KAC = (3+0+7–9–1) mod 9 = 0 mod 9 = 0;            проверка:

KAC = (1 – 1) mod 9 = 0 mod 9 = 0                       – нет ошибки.

 


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

Имя переменной Тип переменной Описание переменной
M[i] Целый / Вещественный Сортируемый массив чисел
i j Целый Используются в цикле при обращении к элементу массива
X Целый / Вещественный Значение элемента в середине массива
First Last Целый Границы сортируемого массива
tmp Целый / Вещественный Временное хранение значения элемента массива при обмене

 

Примечание: так как процедура сортировки массива – рекурсия, то переменные i, j, X – должны быть локальными.

 


Заключение

 

В процессе выполнения курсовой работы, я узнал как представляются данные в ЦА, научился переводить числа из одной системы счисления в другую, научился представлять числа в машинном коде и выполнять над ними арифметические и логические операции. При изучении метода контроля работы ЦА, я научился строить код Хемминга, а также выявлять ошибки в данных, закодированных кодом Хемминга. При изучении реализации алгоритма численного метода «быстрой сортировки», я увидел преимущество данного метода в отличии от других методов сортировки.

Таким образом, при выполнении курсовой работы, я получил новые знания и навыки для своей профессиональной деятельности.

 


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

Содержание

 

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 


Введение

 

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

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

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

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

 


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

 

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

 

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

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

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


Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.097 с.