![](/user_photo/2706_HbeT2.jpg)
Praktika_I_Informatsia
.pdf![](/html/2706/288/html_cHBoso_Yj4.nfwd/htmlconvd-X6_M7221x1.jpg)
число +1910=+100112 в 16-разрядном представлении |
(полуслове) за- |
|||||||||||||||||
пишется так: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
|
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Знак числа
Такая форма представления целых чисел со знаком, когда крайний левый бит разрядной сетки отводится под знак числа, а остальные n-1 бит отводятся под цифры числа в двоичной системе счисления, называется прямым кодом двоичного числа. Прямой код положительного числа совпадает с самим числом, а прямой код отрицательного числа отличается от положительного только наличием единицы в знаковом разряде.
Максимальное значение числа, которое можно представить в n- разрядном регистре при этом будет равно 2n-1-1.
Сложение положительных чисел в компьютерной арифметике осуществляется над прямыми кодами двоичных чисел. Для реализации операции вычитания, которая заменяется в компьютере операцией сложения, используется специальная форма представления отрицательных чисел, называемая дополнительным кодом.
Дополнительный код отрицательного двоичного числа вычисляется по следующему правилу:
1.отрицательное двоичное число записывается в прямом коде;
2.значения всех двоичных разрядов, кроме знакового, инвертиру- ются (единицы заменяются нулями, а нули – единицами), получается обратный код отрицательного числа;
3.к младшему разряду инвертированного числа прибавляется единица по правилам сложения двоичных чисел, получается дополнительный код отрицательного числа.
При выполнении операции сложения каждое число, участвующее в операции, должно быть закодировано в разрядной сетке с одинаковым количеством разрядов (полуслове, слове, двойном слове и т.д.) В суммирование этих кодов участвуют все разряды, включая знаковые. При возникновении переноса единицы из знакового разряда она отбрасывается, т.к. вышла за пределы разрядной сетки. В результате получается алгебраическая сумма в прямом коде, если она
21
положительна, и в дополнительном коде, если эта сумма получилась отрицательной.
Пример 3.14. |
Представить в полуслове число -19(10) |
в дополнитель- |
||||||||||||||||||
ном коде. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1. |
число –19 (10) = –10011 (2) |
в прямом коде записывается в виде: |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
7 |
6 |
5 |
4 |
3 |
|
2 |
1 |
|
0 |
|
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
|
0 |
1 |
|
1 |
|
2. |
разряды с 0 по 14 инвертируются: |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
7 |
6 |
5 |
4 |
3 |
|
2 |
1 |
|
0 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
0 |
|
0 |
|
3. |
к младшему разряду инвертированного числа прибавляется 1: |
|
|
|||||||||||||||||
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
7 |
6 |
5 |
4 |
3 |
|
2 |
1 |
|
0 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
0 |
|
1 |
|
Ответ. Дополнительный код числа –10011 (2) в полуслове будет иметь вид 1111111111101101.
Пример 3.15. Даны числа: A=34(10), B=30(10). Вычислить A+B, A–B, B–A, B×A в однобайтовом формате.
Решение. Представим оба числа в дополнительном коде в однобайтовом формате:
|
Число |
|
Двоичное |
|
Прямой код |
|
Дополнительный |
|
|
представление |
|
|
код |
||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
A=34(10) |
100010 |
00100010 |
|
00100010 |
||
|
-A=-34(10) |
-100010 |
10100010 |
|
11011110 |
||
|
|
|
|
|
|
||
|
В=30(10) |
11110 |
00011110 |
|
00011110 |
||
|
-B=-30(10) |
-11110 |
10011110 |
|
11100010 |
1. Найдем сумму A+B:
00100010
+00011110
01000000
Ноль, полученный в знаковом разряде, свидетельствует о том, что результат – положительное число и он равен 01000000(2) или 64(10).
22
![](/html/2706/288/html_cHBoso_Yj4.nfwd/htmlconvd-X6_M7223x1.jpg)
2. Найдем разность A–B:
00100010 + 11100010 100000100
Единица, вышедшая за пределы восьмиразрядной сетки, отбрасывается. Ноль в знаковом разряде свидетельствует о том, что результат положительный и равен 100(2) или 4(10).
3. Найдем разность B–A:
00011110
+11011110
11111100
Результат отрицательный и получен в дополнительном коде. Перейдем в прямой код, для этого вычтем из младшего разряда 1:
11111100
1
11111011
Применим операцию инверсии, не затрагивая знакового разряда, получим прямой код 10000100, а это означает, что результат будет равен –100 (2) или –4 (10).
4. Найдем произведение B×A:
00011110
×00100010
+00011110
00011110
0001111111100
Двоичные разряды произведения, вышедшие за пределы восьмиразрядной сетки, отбрасываются. В результате получим двоичное число 11111100. Единица в знаковом разряде свидетельствует о том, что результат отрицательный и равен –4 (10), против ожидае-
мого 1020(10). Это говорит о том, что однобайтовой разрядной сетки для хранения результата умножения этих чисел не хватает.
3.4.2. Представление вещественных чисел в компьютере
Для представления вещественных чисел в современных компьютерах применяется форма, которую принято называть форма пред-
ставления вещественных чисел с плавающей точкой (запятой).
23
![](/html/2706/288/html_cHBoso_Yj4.nfwd/htmlconvd-X6_M7224x1.jpg)
В формате с плавающей запятой разряды регистра разбиваются на два поля, имеющие название мантисса и порядок.
Для однозначности представления чисел с плавающей точкой в компьютере используется нормализованная форма записи чисел, при которой число записывается в таком виде, чтобы у мантиссы старший разряд обязательно был равен 1, а порядок – целое положительное или отрицательное число.
Для упрощения операций с вещественными числами (например, операций сравнения), а также для большей точности их представления применяется следующий формат (для простоты возьмем 4-х байтовое представление – двойное слово):
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
… |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
смещенный порядок |
мантисса без старшей единицы |
|
знак мантиссы
Порядок числа запоминается увеличенным на величину 2k-1-1, где k-количество разрядов, отведенное для кодирования порядка. Такой порядок называется смещенным:
pм= p + (2k-1-1),
где p – порядок числа, pм – машинный порядок.
Для 4-х байтового представления под порядок числа отводится 8 разрядов, поэтому машинный порядок будет вычисляться по фор-
муле pм= p + (27-1) или pм= p + 127.
При таком способе представления отпадает необходимость кодирования знака порядка.
Т.к. при нормализованной форме записи вещественного числа в двоичной системе счисления первая цифра мантиссы у любого числа всегда 1, то отпадает необходимость хранить эту единицу. Поэтому мантисса записывается в разрядную сетку без первой единицы, но при выполнении операций она, естественно учитывается.
Пример 3.16. Представим вещественное число -121,5 в 4-х байтовом формате.
Решение. Переведем 121,5 в двоичную систему счисления. Целая часть числа: 121(10)=171(8)=1111001(2). Дробная часть числа:
24
![](/html/2706/288/html_cHBoso_Yj4.nfwd/htmlconvd-X6_M7225x1.jpg)
0,5(10)=0,4(8)=0,1(2). Представим число 1111001,1 в нормализованной форме: 1111001,1=0,11110011×27. Первую единицу мантиссы зачеркиваем, при этом порядок уменьшится на 1, получаем: 0,1110011×26.
Найдем машинный (смещенный) порядок:
pм= p + 127=6+127=133(10)=205(8)=10000101(2).
Получим, что число -121,5 в 4-х байтовом формате представляется в виде:
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
… |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Пример 3.17. Обратная задача. Вещественное число в 4-х байтовом формате в шестнадцатеричной СС имеет вид С2А30000(16). Определить это число в десятичной СС.
Решение. С2А30000(16)=110000101111001100000000000000(2). В 31-ом разряде записана 1, значит число отрицательное. Под порядок для 4-х байтового представления отводится 8 разрядов, значит, он закодирован в виде 10000101. Найдем порядок числа: p=pм-(27-1). Здесь вычисления рациональнее выполнять в двоичной СС:
10000101
1111111
110
Получим, что порядок числа равен 110(2) или 6(10). Таким образом, в числе 0,111001100000000000000 нужно сместить запятую вправо на 6
разрядов, получим: 111001,100000000000000. Приписываем слева единицу, которая не хранится: 1111001,100000000000000. Переведем в десятичную СС:
1111001,1(2)=171,4(8)=121,5(10)
Ответ: -121,5.
Задачи и упражнения
1.Перевести число 440 из десятичной СС в двоичную.
2.Перевести число 110,175 из десятичной СС в восьмеричную.
3.Перевести число 9F3A из шестнадцатеричной СС в десятичную.
25
4.Перевести число AAAFFF из шестнадцатеричной СС в восьмеричную.
5.Выполнить следующие операции в двоичной системе счисления
A+B, A–B, A×B, A/B, если A=89(10), B=25(10). Результат прове-
рить в десятичной СС.
6.Выполнить деление чисел A=11110101(2) и B=10101110(2).
7.В какой системе счисления выполнены действия: 14+42=100?
8.Найти основание системы счисления, в которой справедливо ра-
венство: 12345+9889=20012.
9.Найти дополнительный код числа –125 (10) в однобайтовом формате.
10.Найти разность 7510 – 121 10 в однобайтовом формате.
11.Определить наибольшее натуральное число, кодируемое 16 битами.
12.Определить количество байт необходимых для записи числа 444
13.Представить число –106,4 в 4-х байтовом формате.
26
СПИСОК ЛИТЕРАТУРЫ
1.Информатика: Учебник для вузов /Н. В.Макарова, Е. Л. Рамин, В. В. Изранцев, О. П. Ильина, В. Б. Ступак и др.; Под ред. Н. В.
Макаровой. – М.: Финансы и статистика, 2001. –768 с.
2. Острейковский В.А. Информатика: Учебник для вузов /В. А. Острейковский.– М.: Высш.школа, 2000. –511 с.
3.Каймин В.А. Информатика: Учебник для вузов.–2- е изд.,перераб.и доп. – М.: ИНФРА-М, 2001. –272 с.
4.Информатика. Базовый курс: Учеб. пособие для вузов / Под ред. С. В. Симоновича. –2- е изд. – СПб.: Питер, 2003. –640 с.
5.Введение в информатику: учебное пособие для студ. Вузов
/Ю.С. Кабальнов, М.П. Карчевская, Е.А. Кузьмина, С. В. Тархов; под ред. Ю. С. Кабальнова; Уфимск. Гос. Авиац. Техн. Ун-т. –2- е изд. Доп. – Уфа: УГАТУ, 2007. –243 с.
27
Составители: КАРЧЕВСКАЯ Маргарита Петровна РАМБУРГЕР Ольга Леонардовна
ИЗМЕРЕНИЕ И ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ
ПРАКТИКУМ по дисциплине «Информатика»
Часть I
Подписано в печать 06.12.2007. Формат 60х84 1/16. Бумага офсетная. Печать плоская. Гарнитура Times New Roman.
Усл. печ.л. 1,8. Усл. кр.- отт. 1,8. Уч.-изд.л. 1,7.
Тираж 100 экз. Заказ № ГОУ ВПО Уфимский государственный авиационный технический университет
Центр оперативной полиграфии УГАТУ 450000, Уфа-центр, ул. К. Маркса, 12
28