Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ1ИНФ.doc
Скачиваний:
2
Добавлен:
17.07.2019
Размер:
315.9 Кб
Скачать

1) Для числа (-18)

27

26

25

24

23

22

21

20

1

1

1

0

1

1

1

0

215

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20

1

0

0

0

0

0

0

0

0

1

1

1

0

1

1

0

Число, записанное в 16-разрядный регистр равно не (-18), а (-32 658).

Преобразование дополнительного кода числа при расширении разрядной сетки выполняется по следующему правилу:

  1. значение знакового разряда копируется во все дополнительные (расширяющие) разряды (биты). Если исходное число было положительным, то все дополнительные биты заполнятся нулями, а если отрицательным – единицами. Эта операция называется расширением знака;

  2. значащие разряды из 8-разрядного регистра копируются в соответствующие разряды 16-разрядного регистра.

Пример 12. Необходимо переписать десятичное числа (-18), хранящееся в дополнительном коде в 8 - разрядном регистре в 16-разрядный регистр

27

26

25

24

23

22

21

20

1

1

1

0

1

1

1

0

215

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20

1

1

1

1

1

1

1

1

1

1

1

0

1

1

1

0

В данном случае в 16-разрядном регистре записано число (-18).

ЗАДАНИЕ 3

Выполните подобное преобразование для десятичного числа, соответствующего номеру вашей фамилии в Журнале учета учебных занятий, взятого со знаками «+» и «-».

1.2.4 Представление чисел с фиксированной точкой

Кроме решения проблемы знака числа при представлении целых и дробных чисел в машинных кодах необходимо было решить проблему отделения целой части от дробной (проблему запятой (точки)). В принципе точку можно разместить за любым из разрядов регистра.

Для решения этой проблемы в ЭВМ числа хранятся в трех форматах: формат с фиксированной точкой, формат с плавающей точкой и двоично-десятичный формат.

Рассмотренные в 1.2.1 – 1.2.3 форматы относятся к форматам с фиксированной точкой, т.е. размещение точки (подразумеваемой границы целой и дробной частей числа) строго оговорено (фиксировано). Обычно это место определяется или перед первой значащей цифрой, или после последней значащей цифры числа.

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

2-n |A2| 1- 2-n .

Если точка фиксируется после последней значащей цифры, то это означает, что хранящееся двоичное n – значное число является целым. В настоящее время принято фиксировать точку справа от младшего значащего разряда, т.е использовать в этом формате целые числа. Диапазон изменения значений таких чисел составляет:

0 |A2| 2n - 1.

Так, если в ПК используется 32-разрядные регистры для хранения целых чисел, то диапазон их представления может быть изображен так, как показано на рис. 3.

Представляемые целые числа

Числовая ось

-231

0

231-1

Рис.3- Диапазон представления целых чисел

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

1.2.5 Представление чисел в формате с плавающей точкой

Представление вещественных чисел в ЭВМ осуществляется, как правило, в формате с плавающей точкой. Это обусловлено тем, что, хотя в формате с фиксированной точкой, в частности в дополнительном коде, можно представлять положительные и отрицательные числа в диапазоне, симметричном на числовой оси относительно точки 0 (рис.3), а расположив воображаемую разделительную точку в середине разрядной сетки, можно в этом формате представлять смешанные числа и дроби, но диапазон представления чисел оказывается не достаточно большим. Нельзя представить ни очень большие, ни очень маленькие числа. При выполнении деления двух больших чисел, как правило, теряется дробная часть частного.

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

Так достаточно большое число 976 000 000 000 000, требующее значительного числа разрядов регистра для своего хранения, можно записать в виде 9,76 1014, а очень малое число 0.000 000 000 000 097 6 - в виде 9,76 10-14. При этом разделительная точка динамически перемещается в требуемое место. Числа с плавающей точкой представляются совокупностью мантиссы В данном случае число 9,76 является мантиссой числа ( S), а в качестве характеристики числа (B E) используется основание системы счисления – число B=10, возведенное в ту или иную степень, называемую порядком числа ( E). Такой прием позволяет посредством небольшого числа цифр, а следовательно, и незначительного числа разрядов регистра, представлять как очень большие, так и очень маленькие числа.

Этот же подход используется и в двоичной системе счисления. Любое число А2 можно представить в виде

А2 = S * B E ,

где мантисса S и порядок E представляются двоичными числами, а в качестве основания В используется основание системы счисления (В=2).

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

- поле знака мантиссы и числа в целом («плюс»- 0 ,«минус» -1);

- поле мантиссы S;

- поле порядка E.

На рис. 4 показан 32-разрядный формат с плавающей точкой.

231

230 223

222 20

1 (0)

Смещенный порядок(8 бит)

Мантисса (23 бита)

знак мантиссы (числа)

Рис. 4. 32-разрядный Формат для представления вещественных чисел с плавающей точкой

Из рис. 4 следует, что фактически в поле порядка хранится не сам порядок, а его некоторый эквивалент – смещенный порядок. Смещенный порядок получается как результат сложения истинного порядка с фиксированным числом (смещением). как правило, смещение равно (2k-1 -1), где k – разрядность поля порядка. Для примера, приведенного на рис.4, k=8 , и следовательно, смещение равно 127, а действительное значение порядка чисел, представленных в этом формате, находится в диапазоне от (-127) до (+128) .

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

Любое число можно представить в формате с плавающей точкой множеством способов. Записи:

0.110 *25 ,

110 *22 ,

0.0110 *26 можно считать эквивалентными, если полагать, что мантисса выражена в двоичной системе счисления.

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

    1. bbbb...b * 2 E ,

где b представляет произвольную двоичную цифру (0 или 1). Это означает, что старший значащий разряд кода мантиссы всегда равен 1, а следовательно, нет необходимости хранить его в составе числа. Таким образом, в 23-битовом поле мантиссы фактически хранится 24-разрядный код мантиссы, значение которой может быть в диапазоне от 0.510 до 1.010.

Пример 13.

1.Число 0.11010001 * 210100 хранится в 32-битном регистре в виде

231

230

229

228

227

226

225

224

223

0

1

0

0

1

0

0

1

1

222

20

1

0

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

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