Правило 7. Обратное преобразование числа из дополнительного кода.

Для этого:

1. Найдем обратный код дополнительного кода числа. Заменим двоичные нули на единицы, а двоичные единицы на двоичные нули.

2. К полученному числу прибавим единицу, равную по весу единице младшего разряда

3. Переведем полученное число в десятичную систему счисления

4. Слева припишем знак-

Правило 9. Преобразование десятичного числа в короткий формат

1. Перевод десятичного числа в двоичную систему счисления.. Перевод осуществляться в соответствии с правилом 2. При этом искомое двоичное число должно содержать 25 значащих разрядов. Если число по абсолютной величине больше или равно единице, то количество дробных разрядов (точность перевода) числа можно определить следующим образом:

m + n + 1 = 25; m = 24 – n,

где n - номер старшего разряда числа, m - количество разрядов дробной части искомого числа. Искомое число будем содержать 25 значащих разрядов.

Если число по абсолютной величине меньше единицы, то при переводе правильной десятичной дроби необходимо определить номер первого разряда дробной части искомого двоичного числа, в котором будет располагаться двоичная единица. Пусть номер найденного разряда -j. Обозначим через l количество разрядов с двоичными нулями, расположенными между разделительной точкой и разрядом с номером –j, l = j -1. Тогда точность перевода равна: m = l + 25. Разряды с номерами небольшими, чем –j назовем значащими разрядами числа. Их количество равно 25.

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

3. Нормализация числа.Для этого необходимо перемещать разделит. точку таким образом, чтобы искомое число, полученное в результате перемещения точки, располагалось на полусегменте [1, 2} (x-искомое число, 1 x<2).

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

Число, расположенное на полусегменте [1, 2), имеет целую часть равную 1. Поэтому при хранении числа в оперативной памяти нет необходимости в хранении целой части числа. Целая часть отбрасывается. В этом случае остается мантисса (дробная часть числа), содержащая 23 значащих разрядов.

4. Определение смещенного порядка числа. Для этого необходимо к абсолютному порядку, полученному на шаге 3 прибавить 127 (сместить порядок на 127). В результате получим смещенный порядок числа. Полученное десятичное число необходимо перевести в двоичную систему счисления и представить в форме 8-рязрядного двоичного числа без знака. Смещенный порядок -неотрицательное число. Минимальное. значение абсолютного порядка равно -127.

5 Запись числа в память. Дробное число в коротком формате представляется в памяти в форме нормализованного числа, занимающего 4 байта. Старший бит третьего байта (бит с номером 7) является знаковым битом. Если число неотрицательное, то знак числа равен нулю. Если число отрицательное, то знак числа равен единице. Смещенный порядок числа занимает 8 бит (1 байт) и расположен с нулевого по 6-ой бит первого байта и в 7-ом бите второго байта. Мантисса числа занимает 23 бита и располагается во втором байте с нулевого по 6-ой бит и полностью занимает первый и нулевой байты числа.

Правило 8. Сложение.

При сложении двух чисел в системе счисления с основанием q необходимо записать их столбиком одно над другим так, чтобы соответствующие разряды одного слагаемого располагался под соответствующими разрядами другого слагаемого. Сложение производится поразрядно справа налево, начиная с младших разрядов слагаемых. Рассмотрим сложение в разряде с номером i. Введем обозначения: а , b -цифры соответственно первого и второго слагаемых i-го разряда, p -признак переноса из смежного младшего разряда. Признак переноса p равен 1, если в i-1 разряде сформирована единица переноса и p равен 0 в противном случае.

Найдем сумму: S =a +b +p ; a и b - десятичные числа, которые соответствуют цифрам a и b системы счисления с основанием q.

Сложение производиться в десятичной системе счисления. Возможны два случая:

1. S q. Из S вычтем основание системы счисления q, сформируем признак переноса в следующий i+1 разряд, равный 1. Разности, полученной в результате вычитания, поставим в соответствии цифру S системы счисления с основанием q.

2. S < q.. Сформируем признак переноса p в следующий i+1 разряд, равный 0. Поставим в соответствии десятичному числу S цифру S системы счисления с основанием q.

Полученная цифра S является цифрой i-го разряда суммы. Аналогично производится сложение в каждом разряде.

Правило 9. Вычитание.

Для того, чтобы вычисть числа в системе счисления с основанием q, необходимо записать одно под другим столбиком, чтобы разряды вычитаемого располагались под соответствующими разрядами уменьшаемого. Вычитание производиться поразрядно, начиная с младшего разряда. Рассмотрим вычитание в i-ом разряде. Введем обозначения: a и b -цифры соответствующего уменьшаемого и вычитаемого i-го разряда, p -признак единицы заема в i –ом разряде.

Этот признак равен 1, если возникла необходимость в заеме единицы в i-1 разряде и признак pi равен 0 в противном случае. Поставим в соответствии a и b десятичные .числа a и b . Найдем значение выражения r =a - b +p . Возможны два случая:

1. r <0. В этом случае признак p =-1, т.е. возникает заем единицы в следующем разряде. Найдем сумму r + q. Полученной сумме поставим в соответствие цифру r системы счисления с основанием q.

2. r 0. В этом случае r необходимо поставить в соответствии цифру ri . Признак заема p = 0.

Полученная цифра r является цифрой i-го разряда разности. Аналогично производится вычитание в каждом разряде.