Ast-praktikum
.pdfПеревод |
дробной |
части |
Перевод |
дробной |
части |
|||
десятичного |
числа |
в |
шестнадцатеричного |
числа в |
||||
шестнадцатеричную |
систему |
десятичную систему счисления |
||||||
счисления |
|
|
|
|
|
|
|
|
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