ГОСТ Р ИСО •НЭК 8825-93
С.4 Длила значения порядка вычисляется теперь определением максималь
ного количества октетов, необходимого для представления значений
Е
ш
!
п
— (
сд
в
и г
)
— (декремент порядка)
Епи„— (сдвиг) г- (декремент порядка)
где
Emin
п
Еи« —
минимальное и максимальное целочисленные значения аппа
ратного представления порядка, сдвиг — любое значение, которое требуется вы
честь для получения правильного значения порядка, а декремент порядка
вы числяется как описано в С З Предположим, что это дает длину 3 октета
Тогда
«ее»
равно 10. Предположим также, что сдвиг также равен нулю.
С.5 Алгоритм передачи теперь можно описать следующим образом:
а)проверить на нулевое значение и. если да. то передать значение АСН. I
нулевой длины (без октетов содержимого) и закончить выполнение алгоритма;
bj проверить и .запомнить знак мантиссы и. если он отрицательный, то ин
вертировать мантиссу.
c) передать поле длины значение АСН. 1, равное 9. а затем октет
IМО! 110. если значение отрицательное
или
■0101110, если значение положительное
d) сформировать^ передать 3 октета порядка со значением
e) установить в ноль биты с 8 по 3 октета 1 ii биты с 4 по 5 октета 5. и пе
редать Б октетов мантиссы
С.6 Алгоритм на приемной стороне доджей быть рассчитан на обработку эна
чекия в любом формате, допустимом о АСН. Ь. но при этом может непосредствен
но использоваться блок арифметики с плавающей запятой. Обработка аелстси
следующим-образом:
a) проверяем первый октет содержимого; если он равен ) МОИ 10 или
10101Ы0. то переданное значение допускает представление в нашей аппаратуре,
н мы можем применить алгоритм, обратный передающему алгоритму,. -
b
) в противном случае, при представлении в виде строки знаков, вызывает
ся стандартная программа преобразования значения из десятичной формы в
представление с плавающей запятой, при этом «СпециальмыеДейсгвитслышсЗна-
чения* обрабатываются и соответствии с их прикладной семантикой (возможна
установка максимального н минимального численных значений, которые может
обрабатывать блок арифметики с плавающей запятой);
c) если передано значение в двоичном представлении, помещаем N в блок
арифметики с плавающей запятой, отбрасывая, если необходимо, младшие- окте ты,
умножаем на 2F и 8Е и. если это необходимо, инвертируем полученное зна чение.
При реализации может оказаться возможной оптимизация в некоторых
специальных случаях, но может также оказаться, что выявление утих специаль
ных случаев влечет большие накладные расходы, чем выигрыш при оптимизации
(кроме выявлении случаев совместимости с имеющейся аппаратурой),
С.7 Приведенные выше алгоритмы носят аллюстоативиый характер. При ре
ализации возможна выработки других стратегий наклучших в конкретных слу
чаях.
21