Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогр_обменка / Методические указания / Методические указания.doc
Скачиваний:
18
Добавлен:
03.03.2016
Размер:
560.64 Кб
Скачать

Задание на переводы чисел в 8 с/с и 16 с/с .

Заданы 2 десятичных числа, которые надо перевести в 8 с/с и 16 с/с соответственно.

С первым десятичным числом выполняем следующие преобразования:

10 с/с -> 8 с/с -> 2 с/с -> 16 с/с -> 10 с/с.

Абсолютная погрешность не должна превышать заданную для перевода точность.

Со вторым десятичным числом выполняем следующие преобразования:

10 с/с -> 16 с/с -> 2 с/с -> 8 с/с -> 10 с/с.

Абсолютная погрешность не должна превышать заданную для перевода точность.

Перевод из 8 с/с в 16 с/с и из 16 с/с в 8 с/с выполняется через 2 с/с по таблицам представления восьмеричных и шестнадцатеричных цифр в 2 с/с.

Переводы

8 с/с -> 2 c/c -> 16 c/c и 16 с/с -> 2 c/c -> 8 c/c

выполняются без погрешности, т.к. системы счисления 8 с/с и 16 с/с имеют основание равное степени 2. Погрешность появляется при переводе из 10с/с в 8 с/с и из 10 с/с в 16 с/с. Это объясняет, почему в информатике наряду с 2 с/с используются 8 с/с 16 с/с.

№ по

журналу

8 с/с

t

16 с/с

t

1

252.89

0.04

590.03

0.05

2

572.46

0.05

511.09

0.01

3

573.32

0.01

906.45

0.02

4

595.68

0.02

996.35

0.03

5

425.47

0.03

575.24

0.04

6

677.43

0.04

740.35

0.05

7

362.84

0.05

750.76

0.01

8

466.57

0.01

507.67

0.02

9

492.45

0.02

599.47

0.03

10

235.67

0.03

589.36

0.04

11

467.92

0.04

799.44

0.05

12

563.58

0.05

895.66

0.01

13

325.64

0.02

794.87

0.02

14

556.36

0.03

620.45

0.03

15

424.53

0.04

910.37

0.04

16

315.43

0.05

718.56

0.05

17

561.62

0.01

509.13

0.01

18

456.12

0.02

540.94

0.02

19

444.03

0.03

730.55

0.03

20

626.34

0.04

506.28

0.04

21

341.66

0.05

923.37

0.05

22

345.45

0.01

844.69

0.01

23

349.85

0.02

810.22

0.02

24

156.54

0.03

766.35

0.03

25

459.37

0.01

753.17

0.04

Для 25 варианта число 459.37 надо переводить в 8 с/с с точностью t=0.01,

число 753.17 надо переводить в 16 с/с с точностью t=0.04.

Лабораторная работа №3

Тема: Форматы целых чисел.

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

Теоретическая часть:

1. Целые числа (числа с фиксированной запятой).

ПК имеет несколько типов целых чисел, различающихся между собой количеством содержащихся в них разрядов. Здесь будет рассмотрен тип short int для 32-х разрядных процессоров.

Для чисел типа short int отводится поле длиной 2 байта. Биты этого поля нумеруются в последовательности 15, 14, ..., 1, 0. Пятнадцатый бит, т.е. бит с пятнадцатым порядковым номером содержит знак числа ("0" - это знак "+", "1" - знак "-").

Например, число 3104 = C20 в формате short int имеет вид

0C2016 = 0000 1100 0010 00002

Здесь 16 c/c используется для компактного изображения двоичного числа.

Примечание. Поскольку число в формате short int имеет размер 2 байта, то шестнадцатеричная запись числа, применяемая для его компактного представления, должна всегда содержать 4 цифры. С этой целью в приведенном выше примере к шестнадцатеричной записи числа добавлен незначащий нуль.

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

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

Пример 8.

10 c/c 16 c/c 2 c/c

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

- 2 8 9 3 - A 5 4 C - 1 0 1 0

  

8 1 0 7 5 A B 4 0 1 1 0

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

Для 10 c/c максимальная цифра - это 9, для 16 c/c - F, для 2 c/c - 1. Отметим, что для 2 c/c первый этап указанного преобразования сводится к инвертированию числа, т.е. замене нулей на единицы, а единиц - на нули.

Для числа -3104 в формате short int имеем F3E0. Для числа -58 = -003A получим FFC6.

Дополнительный код позволяет заменить операцию вычитания операцией сложения с дополнительным кодом отрицательного числа.

Пример 9.Пусть нам требуется выполнить в 10 c/c операцию

6 5 8 6 1

- 4 8 2 7 3



1 7 5 8 8

Вместо вычитания числа 48273 выполним сложение с его дополнительным кодом (51727):

6 5 8 6 1

+ 5 1 7 2 7



11 7 5 8 8

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

Использование дополнительного кода позволяет отказаться от установки в процессоре блока вычитания, что упрощает его конструкцию.

Максимальное значение числа формата short int:

Х max = 0111 1111 1111 1111 2 = 1000 0000 0000 0000 - 1 = 215 - 1 = 32767

Минимальное значение определяется кодом 1000 0000 0000 0000 2, которому соответствует число -32768.

Рассмотрим формирование отрицательного минимума для формата short int.

800016 = 1000 0000 0000 00002

1111 1111 1111 1111 - доп.код числа -1

+ 1000 0000 0000 0001 - доп.код числа -111 1111 1111 1111 = - (215 - 1)



1 1000 0000 0000 0000

Единица переноса из старших складываемых разрядов отбрасывается.

Результат: 8000 = - (215 - 1) - 1 = - 215 = - 32768 .

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

Пример 10. (для 16 с/с):

исходное число - 5B9538B6

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

дополнительный код дополнительного кода - 5B9538B6

Соседние файлы в папке Методические указания