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

Praktika_I_Informatsia

.pdf
Скачиваний:
75
Добавлен:
18.03.2015
Размер:
267.03 Кб
Скачать

число +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

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

В формате с плавающей запятой разряды регистра разбиваются на два поля, имеющие название мантисса и порядок.

Для однозначности представления чисел с плавающей точкой в компьютере используется нормализованная форма записи чисел, при которой число записывается в таком виде, чтобы у мантиссы старший разряд обязательно был равен 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

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

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