Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OKT.doc
Скачиваний:
8
Добавлен:
16.04.2019
Размер:
5 Mб
Скачать

2.3.6 Арифметика с алгебраическими числами

2.3.6.1Кодирование алгебраических чисел

Для представления чисел со знаком используются специальные коды:

  • прямой код;

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

  • обратный код.

Во всех трёх случаях используется следующий формат представления числа, содержащий два поля - поле знака и поле модуля (Рис. 1.3.6 .1).

Поле знака

Поле модуля

Рис. 1.3.6.1.1

Поле знака представлено одним разрядом, в котором устанавливается 0, если число положительное, и 1, если число отрицательное.

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

В прямой код запись целого числа А формируется по следующему правилу:

0. A, если если А.>=0;

[А]пк =

1.A , если А<0.

В дополнительном коде запись целого числа А формируется по следующему правилу:

 0. A, если А>=0;

[А]дк =

 1 . qn + A , если А<0,

где: n - разрядность модульного поля;

q -основание системы счисления;

qn - максимальная невключенная граница диапазона изменения представляемых чисел, т.к. диапазон изменение чисел А определяется как

qn >  A >=0 .

Для случая правильной дроби запись числа В в дополнительном коде имеет вид

 0. A, если А>=0;

[А]дк =

   1. (1 +A ), если А<0,

где 1 - максимальная невключенная граница диапазона изменения представляемых чисел, т.е. диапазон изменение чисел А определяется как

1 >  A >=0.

В обратном коде запись целого числа А формируется по следующему правилу:

  0. A, если А>=0;

[А]ок =

   1 . ((qn -1)+ A) , если А<0,

где n - разрядность модульного поля;

q - основание системы счисления;

(2n - 1) - максимальная включенная граница диапазона изменения представляемых чисел, т.е. диапазон изменение чисел А определяется как

(qn -1)>= A>=0.

Для случая правильной дроби запись числа В в обратном коде имеет вид

 0. A, если А>=0;

[А]ок =

 1. (1-q-n +A ), если А<0,

где (1- q-n) - максимальная включенная граница диапазона изменения представляемых чисел, т.е. диапазон изменение чисел А определяется как

(1-q-n ) >=  A>=0.

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

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

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

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