Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФОРМАТИКА конспект лекций.doc
Скачиваний:
30
Добавлен:
26.11.2019
Размер:
347.65 Кб
Скачать

2.2.Формы представления числовой информации в эвм

В ЭВМ используются две формы представления числовой инфор­мации; естественная форма (с фиксированной запятой) и полулога­рифмическая форма (с плавающей запятой).

Естественная форма характеризуется тем, что местоположение запятой, отделяющей целую часть числа от его дробной части стро­го фиксировано. Это означает, что если n-разрядное число в каком-то блоке ЭВМ (в памяти или в процессоре) представлено комбина­циями n-двухпозиционных элементов, то запятая всегда строго фиксирована после К-ого элемента, т.е. всегда заранее известно, сколько двухпозиционных элементов выделено для изображения целой части числа, и сколько двухпозиционных элементов для изображения его дробной части.

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

В первом случае запятая фиксируется перед самым левым циф­ровым разрядом числа. В этом случае все числа, представимые в ма­шине, должны быть меньше единицы.

В другом случае запятая фиксируется после самого правого цифрового разряда числа. В этом случае все числа, представимые в ЭВМ, должны быть только целыми, т.е. без дробной части. При использовании полулогарифмической формы любое число Х представляется в виде: где S - основание системы счисления; P - порядок числа (целое число со знаком); M - мантисса числа X. Мантисса числа должна лежать в пределах . В ЭВМ вводится мантисса числа, знак мантиссы, порядок числа и знак порядка.

Полулогарифмическая форма наиболее удобна при проведении на ЭВМ научно-технических расчетов, в то время как естественная форма предпочтительна при решении задач логического характера. Поскольку задачи логического характера составляют 80-90% от об­щего числа решаемых на ЭВМ задач, то естественная форма является основной формой представления числовой информации. В ЭВМ общего назначения использовались обе формы представле­ния числовой информации.

Машинные коды. Кодом называется любое обозначение, отличное от общеприня­того. Общепринято, например, положительные числа отмечать знаком "+" (или, вообще, не указывать их знак), а отрицательные числа отмечать знаком «-». Числа разного знака необходимо уметь изоб­ражать состояниями двухпозиционных элементов при вводе их в ма­шину.

Для изображения знака числа вводится дополнительный разряд, называемый знаковым, причем состояние "0" этого разряда изобра­жает знак "+", а состояние "I" - знак "-". Такое изображение чи­сел со знаком называется прямым кодом. Число Х в прямом коде бу­дем условно изображать как IXIпр. В числах, представленных в естественной форме, знаковый разряд помещается непосредственно перед числом. Таким образом, прямой код числа, представленного в естественной форме (это в полной мере отно­сится и к мантиссе числа, представленного в полулогарифмической форме), образуется по следующему правилу. Если число Х положи­тельно, т.е. Х = +0,Х1Х2,…Хn (Х1Х2,…Хn - цифровые разряды числа), то IXIпр = 0,Х1Х2…Хn; если число Х отрицательно, т.е. Х = -0,Х1Х2…Хn, то [Х]пр = 1,Х1Х2…Хn.

Примеры: Х = +0.1011 [Х]пр = 0,1011 У= -0,1101 [У]пр = 1.1101

Как известно, правила сложения многоразрядных чисел отли­чаются от правил вычитания. Чтобы по существующим правилам вы­полнять эти операции, ЭВМ должна иметь в своем составе два само­стоятельных устройства - сумматор и вычитатель.

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

Обратный код отрицательного числа (будем изображать его как [Х]о) образуется так. В знаковом разряде числа записывается "I", а в цифровых разрядах, по отношению к исходному числу про­изводится замена цифры "0" на "I", а "I" на "0". Пример: Х=-0,1101 [X]о =1,0010.

Дополнительный код отрицательного числа, получается из обрат­ного кода прибавлением "I" к младшему цифровому разряду: [X]д = [X]о +2-n, где п - число, соответствующее коли­честву цифровых разрядов.

Пример: Х= -0,1101 [X]д=1,0010 +2-4 = 1,0011.

Иногда в машинных кодах для изображения знака используется не один знаковый разряд, а два. Такие коды называются модифици­рованными. Знак "+" в этих кодах представляется комбинацией "00", а "-'' - комбинацией "11".

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

Разрядная сетка ЭВМ однозначно указывает, сколько двухпозиционных элементов выделено для изображения цифровых раз­рядов числа и сколько для изображения знака числа. Выход за допустимые пределы результата называется также переполнением разрядной сетки.

При переполнении разрядной сетки происходит полнейшее искажение результата - и по величине, и по знаку. Поясним это на примерах.

1. Пусть даны два числа Х = +0,1101 и У= +0,1001 . При сложении этих чисел получим: 0,1101 + 0,1001= 1,0110

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

2. Даны два отрицательных числа Х = -0,1101 и У = -0,1001

[X]д = 1,0011 [Y]д= 1,0111

1,0011 + 1,0111 = 10,1010

Для самой левой единицы в разрядной сетке места нет. Поэтому результатом будет величина 0,1010, не соответствующая искомо­му результату, ни по величине, ни по знаку.

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

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

00,1101 + 00,1001 =01,0110

11,0011 + 11,0111 = 110,1010

Как только в результате выполнения операции сложения чисел в естественной форме с применением модифицированного кода в зна­ковых разрядах оказываются комбинации "01" или "10", то это озна­чает, что произошло переполнение разрядной сетки.

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

Если переполнение разрядной сетки имеет место, то ЭВМ ав­томатически производит сдвиг содержимого мантиссы (вместе со зна­ковыми разрядами) вправо на один разряд с одновременным увеличе­нием величины порядка на единицу.

Диапазон представимых чисел в ЭВМ. Разрядная сетка ЭВМ и форма представления числовой информа­ции однозначно определяют диапазон представимых чисел в ЭВМ и. точность получаемых результатов.

Если числовая информация представлена в естественной форме, то диапазон представимых чисел лежит в пределах: или 1>ХО (для случая, когда запятая фиксирована левее самого старшего ци­фрового разряда) или 1Х<2n -1 (для случая, когда запятая фиксирована правее самого младшего цифрового разряда).

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

0.0…01 |X|0.11…1*211…1

Процессоры современных персональных компьютеров поддерживают следующие форматы числовых величин: целые числа в естественной форме – байт, слово (2 байта) и двойное слово (4 байта), числа в полулогарифмической форме – 4 байта и 8 байт.

Значение

Описание

Дробная часть

Размер

Байт

Числа от 0 до 255 целого типа

Отсутствует

1 байт

Целые

Числа от-32768 до 32767 целого типа

Отсутствует

2 байта

Длинное целое

Числа от- 2147483648 до 2147483647 целого типа

Отсутствует

4 байта

С плавающей точкой

Числа от-3.402823*1038 до 3.4023823*1038

7

4 байта

С плавающей точкой (8 байт)

Числа от -1.79769313486232*10308 до 1.79769313486232*10308

15

8 байт