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

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

Например, для 6 разрядов цифровой части разрядной сетки дополнительное число заданного числа А = −1510 = −11112 вычис-ляется следующим образом:

[1]000000 − следующее число после 111111

1111

[0]110001 − дополнительное число заданного двоичного числа 1111 для 6 разрядов. Дополнительный код отрицательного целого двоичного числа A для n-разрядной сетки:

[A]доп = 2n-1 – |A|.

В дополнительном коде отрицательный 0 отсутствует. При представлении отрицательного целого двоичного числа в допол-нительном коде в разряд знака заносится 1, а цифровая часть числа заменяется дополнением модуля числа до 2n-1.

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

[A]доп = [A]обр + 1.

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

Например: записать число А = −1510 = −11112 в дополнитель-ном коде в 6-разрядную сетку:

[A]пр = 1.01111 [A]обр = 1.10000 [A]доп = 1.10001

Примеры записи двоичных чисел в прямом, обратном и дополнительном кодах

Записать числа в прямом, обратном и дополнительном кодах, если имеются 12 разрядов для представления чисел в двоичной системе счисления:

–102 (−1100110): 1.00001100110, 1.11110011001, 1.11110011010 –377 (−101111001): 1.00101111001, 1.11010000110, 1.11010000111 –1024 (−10000000000): 1.10000000000, 1.011111111111, 1.10000000000

4.2. Форма представления двоичных чисел с плавающей запятой

Плавающая запятая (точка) – это машинная форма представления вещественных чисел. Разрядная сетка, выделенная для представления числа в этой форме, разбивается на три части: старший разряд обычно выделяется под знак числа, следующие np разрядов – под порядок p (или характеристику r) числа, остальная часть разрядной сетки nm предназначена для представления модуля мантиссы (m) числа.

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

A = ±m q±Р,

где m – мантисса числа A, ±p – порядок или характеристика числа A, q – основание характеристики (основание системы счисления). Например, число в двоичной системе счисления 1111 можно представить в форме с плавающей запятой так:

1111,0 ·20

0,1111·24

11,11·22

111100 ·2-2.

Форма представления с плавающей запятой чисел в двоичной системе аналогично десятичной системе.

Операция денормализации/нормализации (стандарт IEEE 754)

Для представления чисел в форме с плавающей запятой по стандарту IEEE 754 (Institute of Electrical and Electronic Engineers – Институт инженеров электротехники и электроники – стандарт формата представления чисел с плавающей точкой, используемый как в программных реализациях

21

арифметических действий, так и во многих аппаратных реализациях) в компьютерах применяется денормализованная (называемая изначально нормальной или нормализованной) и

нормализованная формы.

Для денормализованного числа его мантисса m должна удов-летворять условию:

1/q <=|m| < 1,

т.е. старший разряд мантиссы в q-системе счисления отличен от 0. В случае двоичной системы счисления:

0.1|m| < 1,

т.е. в старшем разряде мантиссы стоит 1. В данном случае мантисса (m) – это правильная дробь со знаком, порядок (p) – это целое число со знаком, знак числа совпадает со знаком мантиссы.

Например, в двоичном числе 0,11011 2-3 m = 0,11011, p = −310 (−112), знак числа = 0(+).

Для представления двоичного числа в форме с плавающей запятой в разрядной сетке, выделенной для этой цели, отводится по одному разряду для представления знака числа Sm и знака показателя степени порядка SP, определенное число разрядов для представления значения самого показателя p, а также разряды для размещения значения модуля мантиссы m. Например, возможен следующий вариант:

Sp

P

Sm

|m|

Денормализованное число – это вид чисел с плавающей запятой (определенный в стандарте IEEE 754); для получения значения не требуется использование неявной единицы; мантисса умножается на наименьшую для данного формата экспоненту (порядок).

Например: записать в денормализованной форме двоичные числа:

–10110,111= –0,101101111 25 0,000110010111 = 0,110010111 2-3 –0,111011001 = –0,111011001 20.

Для нормализованного двоичного числа его мантисса m должна удовлетворять условию:

1 <= m < 2.

Таким образом, у нормализованной двоичной мантиссы первый бит всегда равен единице, поэтому в отведенную под мантиссу часть разрядной сетки записывается только остаток от мантиссы, меньший единицы.

Так, в двоичном числе 1,1011 2-4 m = 1,1011, остаток от мантиссы = 0,1011. Например: записать в нормализованной форме двоичные числа:

–10110,111= –1,01101111 24 0,000110010111= 1,10010111 2-4 –0,111011001= –1,11011001 2-1.

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

Денормализованные числа находятся ближе к нулю, чем наименьшее представимое нормализованное число.

Обычно в форме с плавающей запятой вместо порядка p используется характеристика

(смещенный порядок):

r = ±p + l,

где l – избыток (смещение), значение которого подбирается таким образом, чтобы при изменении значения порядка p от минимального значения до максимального характеристика r менялась от 0 до rmax, т.е. r >= 0. Таким образом, характеристика не меняет своего знака, поэтому нет необходимости использовать разряд для знака порядка. Для этого принимается

l = 2k-1,

где k – число разрядов, выделенных для представления порядка числа в форме с плавающей запя-

22