Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ast-praktikum

.pdf
Скачиваний:
48
Добавлен:
14.02.2015
Размер:
2.2 Mб
Скачать

Перевод

дробной

части

Перевод

дробной

части

десятичного

числа

в

шестнадцатеричного

числа в

шестнадцатеричную

систему

десятичную систему счисления

счисления

 

 

 

 

 

 

 

0,32710=0,53B645A16

 

0,53B16=0,326910

 

|*16

 

 

 

| *A

16=1010

 

 

5|232

 

 

 

3|44E

 

 

 

|*16

 

 

 

| *A

 

 

3|712

 

 

 

2|B0C

 

 

 

|*16

 

 

 

| *A

 

 

11|392

 

 

 

6|E78

 

 

 

|*16

 

 

 

| *A

 

 

6|272

 

 

 

9|0B0

 

 

 

|*16

 

 

 

 

 

 

 

 

4|352 |*16 5|632 |*16 10|112

ЗАДАНИЕ 3. СВЕРТКА ДВОИЧНЫХ ЧИСЕЛ

 

Направление свертки

Вариант-1

Вариант-2

Вариант-3

Вариант-4

Вариант-5

 

1. из 2 с/с в 8 с/с

1110001

1000111

1111001

1001111

1110111

 

 

2. из 2 с/с в 16 с/с

 

 

 

 

 

 

 

 

 

3. из 2 с/с в 8 с/с

0,1110001

0,1000111

0,1111001

0,1001111

0,1110111

 

 

4. из 2 с/с в 16 с/с

 

 

 

 

 

 

 

 

 

СПРАВОЧНЫЙ МАТЕРИАЛ

 

 

 

 

 

Свертка представляет собой более компактный способ записи числа. Реализуется заменой группы двоичных цифр на цифру-эквивалент из другой системы счисления. Количество заменяемых цифр равно трем для восьмеричной системы счисления (8 = 23) и четырем для шестнадцатеричной системы счисления (16 = 24). Для целой части числа разбивка на группы выполняется справа налево, для дробной части — слева направо.

ЗАДАНИЕ 4. ДВОИЧНОЕ КОДИРОВАНИЕ ЧИСЕЛ

Направление кода

Вариант-1

Вариант-2

Вариант-3

Вариант-4

Вариант-5

1.

из 8 с/с в 2 с/с

102

203

304

406

507

2.

из 16 с/с в 2 с/с

3A

4B

5C

8D

9E

3.

из 10 с/с в 2 с/с

12365

23651

36512

65123

51236

СПРАВОЧНЫЙ МАТЕРИАЛ

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

30

ЗАДАНИЕ 5. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ НАД ЧИСЛАМИ

1. C = A * B

Вариант-1

Вариант-2

Вариант-3

Вариант-4

Вариант-5

2. C = A / B

 

 

 

 

 

2 с/с

А=1011111

А=1101111

А=1110111

А=1111011

А=1111101

В=1000100

В=1000100

В=1000100

В=1000100

В=1000100

 

 

 

 

 

 

 

8 с/с

A=15

A=15

A=15

A=15

A=15

B=2

B=3

B=4

B=5

B=6

 

 

 

 

 

 

 

16 с/с

А=37F

А=37F

А=37F

А=37F

А=37F

В=2

В=3

В=4

В=5

В=6

 

 

 

 

 

 

 

СПРАВОЧНЫЙ МАТЕРИАЛ

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

1 + 0 = 1

1 – 1 = 0

1 * 0 = 0

0 + 1 = 1

1 – 0 = 1

0 * 1 = 0

0 + 0 = 0

0 – 0 = 0

0 * 0 = 0

1 + 1 = 2 но так как в 2 с/с

0 – 1 = 11

1 * 1 = 1

нет числа , то делим результат на

Где 1

— единица заема из

основание с/с, то есть 2/2 и

разряда слева.

 

получаем 10.

 

 

 

Где 1 — единица переноса

Например, 1000 - 1

 

в разряд слева.

Во втором и

третьем

 

разрядах имеем 1 заема, а в

 

четвертом

разряде

 

основание с/с, то есть 2, из

 

которого вычитается 1

 

 

0112 – 1 = 0111 = 111

Правила выполнения арифметических действий в восьмеричной системе счисления

7 + 0 = 7

7 – 7 = 0

 

7 * 0 = 0

0 + 7 = 7

7 – 0 = 7

 

0 * 7 = 0

0 + 0 = 0

0 – 0 = 0

 

0 * 0 = 0

7 + 1 = 8, но так как в 8 с/с

0 – 7 = 71

1 * 7 = 7

нет цифры 8, то делим результат на

Где

7

—заем из

разряда

основание с/с, то есть 8/8 и

слева.

 

 

 

получаем 10.

 

 

 

 

Где 1 — единица переноса

Например, 1000 - 7

 

в соседний слева разряд.

Во

втором и

третьем

 

разрядах имеем 7 заема, а в

 

четвертом

разряде

 

основание с/с, то есть 8, из

 

которого вычитается 7

 

 

0778 – 7 = 0771 = 771

31

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

F + 0 = F

0 + F = F

0 + 0 = 0

F + 1 = 16, но так как в 16

с/с нет цифры 16, то делим результат на основание с/с, то есть 16/16 и получаем 10.

Где 1 — единица переноса в соседний слева разряд.

F – F = 0

F * 0

= 0

F – 0 = F

0 * F = 0

0

– 0 = 0

0

* 0 = 0

0

– F = F1

1

* F = F

Где F —заем

из разряда

 

 

слева.

Например, 1000 - F

Во втором и третьем разрядах имеем F заема, а в четвертом разряде основание с/с, то есть 16, из которого вычитается F

0FF16 – F = 0FF1 = FF1

Умножение и деление в двоичной системе счисления

11100101, 01 = 229, 2510

40510 = 1100 1010 1 | 10011 = 1910

× 101, 1 = 5, 510

1001 1 10101 = 2110 частное

 

 

1110010101

11001

+ 1110010101

10011

1110010101

 

 

11001

10011101100, 111 = 1260, 87510

10011

 

 

 

110 = 610 остаток

 

Умножение и деление в восьмеричной системе счисления

×

345, 28 = 229, 2510

40510 = 6258 238 = 1910

5, 48 = 5, 510

258 = 2110

 

 

 

468

 

162508

 

 

+

217228

 

1458

 

 

 

 

2354, 78 = 1260, 875 10

 

1378

 

 

 

 

 

 

 

68

Умножение и деление в шестнадцатеричной системе счисления

E 5, 416 = 229, 2510

405 10 = 19516 1316

= 19 10

×

 

 

 

13

1516

= 21 10

5, 8

16

= 5, 5

10

 

 

 

72

A0

 

 

65

 

 

+ 47 A4

- 5F

 

 

 

 

 

 

4 EC, E016 = 1260, 875 10

6

 

 

32

ЛАБОРАТОРНАЯ РАБОТА №6

ПРЯМОЙ, ОБРАТНЫЙ, ДОПОЛНИТЕЛЬНЫЙ КОДЫ. МОДИФИЦИРОВАННЫЕ КОДЫ

Цель: Ознакомление с правилами сложения в прямом, обратном, дополнительном, модифицированном кодах.

Задачи:

¾Приобретение навыков сложения чисел в прямом, обратном и дополнительном кодах.

¾Приобретение навыков сложения чисел в модифицированных обратном и дополнительном кодах.

Объем работы: 2 часа.

Порядок выполнения: Перед выполнением задания ознакомьтесь с материалом раздела 2 Представление информации в ЭВМ из Модуля 2.

После выполнения лабораторной работы вы должны

Знать:

¾Назначение обратного и дополнительного кодов.

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

¾Правило преобразования прямого кода числа в дополнительный код.

¾Специфику модифицированных обратного и дополнительного кодов.

¾Особенности сложения чисел в прямом, обратном и дополнительном кодах.

¾Понятие циклического переноса.

¾Понятие разрядной сетки.

¾Причины переполнения разрядной сетки. Способы обнаружения переполнения.

Для защиты лабораторной работы вы должны

Уметь:

¾Выполнять сложение чисел в прямом, обратном, дополнительном, модифицированном кодах.

¾Объяснять полученный результат.

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

33

ЗАДАНИЕ 1. СЛОЖЕНИЕ В ОБРАТНОМ И ДОПОЛНИТЕЛЬНОМ КОДАХ

 

Код

Вариант-1

Вариант-2

Вариант-3

Вариант-4

Вариант-5

 

Разрядная сетка: 5 бит под мантиссу + 1 бит под знак числа

 

 

1.

обратный

А = – 10111

А= – 11011

А= – 11101

А = – 11110

А = – 10101

2.

дополнительный

В = 10100

В= 10100

В= 10100

В = 10100

В = 10101

 

 

 

 

 

 

 

СПРАВОЧНЫЙ МАТЕРИАЛ

Сложение чисел в прямом, обратном и дополнительном кодах

Старший разряд регистра отводится под знак:

0 — для положительных чисел , 1 — для отрицательных.

Правило сложения в прямом коде. При суммировании в прямом коде не делается перенос из старшего цифрового разряда в знаковый.

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

в знаковый разряд поставить единицу;

во всех разрядах мантиссы сменить цифры.

Правило сложения в обратном коде. При сложении чисел в обратном коде,

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

Дополнительный код отрицательного двоичного числа получается, если:

в знаковый разряд поставить единицу;

во всех разрядах мантиссы сменить цифры;

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

Правило сложения в дополнительном коде. При сложении чисел в

дополнительном коде, складываются все n разрядов, включая знаковый. Сложение сопровождается переносом из старшего цифрового разряда в знаковый, но в случае возникновения переноса в знаковом разряде 1 отбрасывается. Сумма дополнительных кодов есть дополнительный код результата.

В модифицированных обратном и дополнительном кодах для кода знака отводится 2 разряда и знак «–» обозначается 11, а знак «+» — сочетанием 00. Сочетание 01 и 10 служит признаком переполнения.

Сложение в прямом коде (разрядная сетка — 1 байт)

А= – 0,00111 1|00000111=[A]пр

+В= – 0,01010 1|00001010=[B]пр С= – 0,10001 1|00010001=[C]пр

Сложение чисел в дополнительном коде (разрядная сетка — 5 бит)

1) Оба числа положительные (нет переноса из мантиссы в знаковый

разряд)

0|11001 = [Α]доп = [Α]пр + 0|00101 = [В]доп = [В]пр

0|11110 = [С]доп = [С]пр=0,11110

Знаковый бит имеет тот же знак, что и исходные числа. Результат верен

34

2) Числа разных знаков (нет переноса из мантиссы в знаковый разряд)

А= – 0, 10010 1|01110 = [Α]доп

+

В = 0,

01011

0|01011 = [В]

доп

С = – 0,

01001

1|11001 = [С]доп

Результат верен.

 

 

3) Оба числа положительные (есть перенос из мантиссы в знаковый

разряд)

А = 0|10001 = [Α]доп = [Α]пр

+

В = 0|11111 = [В]доп = [В]пр С = 1|10000

Знаковый бит имеет не тот знак, что исходные числа. Результат не верен.

4) Числа разных знаков (есть перенос в знаковый разряд и из знакового разряда в младший разряд мантиссы)

А = – 0, 01001

1|10111 = [Α]доп

+

0|01101 = [В]доп

В = 0, 01101

10|00100 = [С]доп = [С]пр

Единица переноса из знакового разряда теряется, но результат верен, так как положительное число В больше по модулю.

5)Оба числа отрицательные (есть перенос из мантиссы в знаковый разряд

ииз знакового разряда в младший разряд мантиссы)

А = – 0, 10001

1|01111 = [Α]доп

+

1|00110 = [В]доп

В = – 0, 11010

10|10101 = [С]доп

Так как единица переноса из знакового разряда теряется, то получилось положительное число. Результат неверен.

Сложение чисел в обратном коде (разрядная сетка — 5 бит)

1) Оба числа положительные (нет переноса в знаковый разряд)

0, 00100 = [Α]обр = А

+

0, 01100 = [В]обр = В

0, 10000 = [С]обр = С

В знаковом бите результата стоит тот же знак, что и в исходных числах. Результат верен.

2) Числа разных знаков (циклический перенос из знакового разряда в младший бит мантиссы)

А = – 0, 01001

1|10110 = [Α]обр

+

 

 

0|01110 = [В]обр.

В = 0, 01110

С = 0,00101

1 0| 001 00

 

 

 

 

 

 

 

 

 

0|00101 = [С]обр

 

 

 

 

 

 

35

В знаковом разряде получен 0, но так как положительное число В по модулю больше, то результат верен.

3) Числа разных знаков (перенос из мантиссы в знаковый разряд)

А = – 0, 01100 [Α]обр = 1|10011

+

В = 0, 01001

[В]

обр

= 0|01001

С = – 0, 00011

 

 

 

1|11100= [С]обр

В знаковом разряде получена 1, но результат верен, так как отрицательное число В больше по модулю.

4) Оба числа отрицательные (есть циклический перенос из знакового разряда в младший бит мантиссы)

 

А = – 0, 01100

 

1, 10011 = [А]обр

+

 

1, 10110 = [А]

 

 

В = – 0, 01001

 

обр

 

С = – 0, 10101.

 

1 1, 01001

 

 

 

 

 

 

 

 

 

Результат верен.

 

1, 01010 = [С]обр

 

 

 

 

ЗАДАНИЕ 2. СЛОЖЕНИЕ В МОДИФИЦИРОВАННЫХ ОБРАТНОМ И ДОПОЛНИТЕЛЬНОМ КОДАХ

 

Код

Вариант-1

 

Вариант-2

 

Вариант-3

Вариант-4

Вариант-5

 

Разрядная сетка: 5 бит под мантиссу + 2 бита под знак числа

 

 

 

 

1. обратный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модифицированный

А = – 10111

 

А= – 11011

 

А= – 11101

А = – 11110

А = – 10101

 

 

 

В = 10100

 

В= 10100

 

В= 10100

В = 10100

В = 10101

 

2. дополнительный

 

 

модифицированный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПРАВОЧНЫЙ МАТЕРИАЛ

 

 

 

 

 

 

 

Сложение в модифицированном обратном коде

 

 

 

 

 

1) Числа разных знаков (есть циклический перенос)

 

 

 

 

А = 0, 10001

+

00|10001=[А]мобр

 

 

 

 

 

В = – 0, 00111

 

 

 

 

 

м

 

 

 

 

 

 

 

11|11000=[В]

 

обр

 

 

 

 

 

С = 0,01001

 

100|01010=[C]мобр

 

 

 

 

В результате циклического переноса из старшего знакового разряда в младший

 

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

 

 

 

 

2) Оба числа отрицательные (есть циклический перенос)

 

 

 

 

А = – 0, 10110

+

[А]мобр = 11|01001

 

 

 

 

 

В = – 0, 01011

[В]м

обр

= 11|10100

 

 

 

 

 

 

 

 

 

[C]м

обр =

110|11101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После циклического переноса получаем сочетание 10 в знаковом разряде. Переполнение разрядной сетки. Результат неверен.

36

3) Оба числа отрицательные (есть циклический перенос)

 

А = – 0, 10010

+

11|01101 = [А]мобр

 

В = – 0, 01011

11|10100 = [В]м

обр

 

С = – 0,11101

 

111|00001 =[C]м

обр

После циклического переноса получаем отрицательное число. Результат верен.

 

4) Оба числа положительные (есть перенос в знаковый разряд)

 

А = 0, 10011

+

00|10011 = [А]мобр

 

В = 0, 11001

00|11001 = [В]мобр

 

 

 

01|01100 = [C]мобр

В знаковом разряде получили сочетание 01. Переполнение разрядной сетки. Результат неверен.

Сложение в модифицированном дополнительном коде 1) Числа разных знаков (есть перенос в знаковый разряд)

 

А = 0, 1010

00|1010 = [А]мдоп

+

11|1011 = [В]м

 

 

 

В = – 0, 0101

доп

 

С = 0,0101

100|0101 = [C]м

доп

 

После отброса единицы, расположенной левее двух знаковых разрядов,

получаем положительное число. Результат верен.

2) Оба числа отрицательные (есть перенос в знаковый разряд)

 

А = – 0, 1010

[А]мдоп. = 11|0110

+

[В]м

 

 

 

 

 

 

 

В = – 0, 0101

доп.

= 11|1011

 

 

C = – 0,1111

[C]мдоп =

111|0001

 

 

 

 

 

После отброса единицы, расположенной левее двух знаковых разрядов,

получаем отрицательное число. Результат верен.

 

3) Оба числа отрицательные (есть перенос в знаковый разряд)

 

А = – 0, 1010

11|0110 = [А]мдоп

+

11|0110 = [В]мдоп

 

В = – 0, 1010

110|1100 = [C]мдоп

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

4) Оба числа положительные (есть перенос в знаковый разряд)

А = 00|1001

+

В = 00|1001 С = 01|0111

Сочетание 01 говорит о переполнении разрядной сетки. Результат неверен.

37

ЛАБОРАТОРНАЯ РАБОТА №7

ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В ЭВМ

Цель: Овладение практическими приемами представления чисел в форматах с фиксированной и плавающей точками.

Задачи:

¾Представление целого десятичного числа в формате СФТ.

¾Представление дробного десятичного числа в формате СПТ.

¾Представление числа СФТ в формате целого десятичного числа.

¾Представление числа СПТ в формате дробного десятичного числа.

¾Выполнение арифметических операций над нормализованными числами.

Объем работы: 4 часа.

Порядок выполнения: Перед выполнением задания дополнительно ознакомьтесь с материалом раздела 2 Представление информации в ЭВМ из Модуля 2.

После выполнения лабораторной работы вы должны

Знать:

¾Для каких чисел предназначены форматы СФТ и СПТ.

¾Структуру разрядных сеток для чисел СФТ и СПТ.

¾Алгоритмы преобразования чисел в форматы СФТ и СПТ.

¾Алгоритмы преобразования чисел из внутренних форматов в десятичный формат.

¾Правила арифметики для нормализованных чисел.

Для защиты лабораторной работы вы должны

Уметь:

¾Выполнять преобразование целого десятичного числа в формат СФТ и обратно.

¾Выполнять преобразование дробного десятичного числа в формат СПТ и обратно.

¾Выполнять сложение, вычитание умножение, деление нормализованных чисел.

¾Объяснять полученный результат.

Результат:

¾ Навыки преобразования чисел во внутренний формат ЭВМ.

38

ЗАДАНИЕ 1. ПРЕОБРАЗОВАНИЕ ЧИСЕЛ ВО ВНУТРЕННИЙ ФОРМАТ СФТ

Разрядная сетка

Вариант-1

Вариант-2

Вариант-3

Вариант-4

Вариант-5

2 байта

4046

4056

4066

4076

4086

– 4046

– 4056

– 4066

– 4076

– 4086

 

СПРАВОЧНЫЙ МАТЕРИАЛ

Алгоритм перевода десятичного числа в формат СФТ

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

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

3)К знаковому разряду дописать полученный код.

Знаковый разряд (старший бит старшего байта) хранит код: 0 — для положительного числа, 1 — для отрицательного.

Преобразование положительного целого десятичного числа в формат СФТ

Дано число 131 в десятичной системе счисления.

Шаг 1. Перевод модуля числа из десятичной системы счисления в двоичную: 13110 = 100000112

Шаг 2. Запись числа вместе со знаковым разрядом: 00000000 10000011

Так как само число занимает все 8 разрядов байта, то добавляется еще один байт для хранения знака в старшем бите.

Шаг 3. Запись результата в шестнадцатеричной системе счисления: а) разбивка на тетрады с правого конца двоичной строки

0000 0000 1000 0011

б) замена тетрад шестнадцатеричными цифрами

0083

Результат: числу 13110 соответствует число 0083СФТ

Преобразование отрицательного целого десятичного числа в формат СФТ

Дано число – 131 в десятичной системе счисления.

Шаг 1. Перевод модуля числа из десятичной системы счисления в двоичную: 13110 = 100000112

Так как само число занимает все 8 разрядов байта, то добавляется еще один байт для хранения знака в старшем бите.

Шаг 2. Получение дополнительного кода (преобразования касаются всех

разрядов, кроме знакового):

 

 

а) прямой код

 

10000000 10000011

б) обратный код

 

11111111 01111100

в) дополнительный код

 

11111111 01111101

Шаг 3. Запись числа вместе со знаковым разрядом: 11111111 01111101

Шаг 4. Запись результата в шестнадцатеричной системе счисления: а) Разбивка на тетрады с правого конца двоичной строки:

1111 1111 0111 1101

б) Замена тетрад шестнадцатеричными цифрами: FF7D

Результат: числу – 13110 соответствует число FF7DСФТ

39

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]