ГОСТ Р ИСО 9506-2-2014
Значения Floatingpoint включают знак S, значащую часть М. показатель степени Е и ширину по
казателя степени N (N > 0). Значащая часть М — это число в нижеследующем диапазоне.
если Е = 0, то:
0.0 <=М< 1.0
в противном случае:
1.0
<= М <
2
.
0
.
Значение Floatingpoint содержит четыре части:
a) ширину показателя степени (число битов показателя степени):
b
) знак (описывает знак Floatingpoint);
c) показатель степени (значение показателя степени);
d) дробную часть (значение поля значащей части числа, лежащего справа от бинарной точки (в
базовом представлении No 2).
Указанные четыре части сущности Floatingpoint представлены в октетной строке, содержащей
два и более октетов. Первый октет указанной строки OCTET STRING содержит ширину показателя
степени, представляемую бинарным целым. Оставшиеся части сущности Floatingpoint представлены
в последующих октетах рассматриваемой октетной строки следующим образом:
a) биты последующих октетов нумеруются от нуля до «к». Нулевой бит — это наиболее значи
тельный бит первого октета последовательности. Бит «к» — это наименее значительный бит послед
него октета последовательности. Используя данную нумерацию, можно поставить в соответствие биты
указанных выше частей значения Floatingpoint значениям последующих октетов следующим образом:
1) знак ставят в соответствие нулевому биту. Плюсу соответствует нуль, минусу - единица.
2) показателю степени ставят в соответствие (в порядке уменьшения значимости битов) биты от
1до «п»,
3) дробной части ставят в соответствие (в порядке уменьшения значимости битов) биты от «п ♦
1» до «к».
П римечание — Для одного значения Floatingpoint возможны различные представления из-за различ
ной возможной ширины показателя степени. Семантические отличия для различных представлений одного и того
же значения Floatingpoint не указаны;
b
)значение «NaN» представлено всеми значениями, имеющими показательстепени, содержащий
все биты, равные единице, и дробную часть, содержащую по крайней мере один бит. равный единице.
Значение знакового бита несущественно;
c) бесконечность представлено всеми значениями, имеющими показатель степени, содержащий
все биты, равные единице, и дробную часть, содержащую все биты, равные нулю. Значение знакового
бита определяет знак бесконечности.
d) значение нуль представлено всеми значениями, содержащими все биты показателя степени и
дробную часть, равные нулю. Значение знакового бита несущественно.
e) ненулевое конечное число с плавающей точкой Floatingpoint представлено значением
Floatingpoint, имеющим показатель степени, содержащий по крайней мере один бит, равный нулю.
Значение представленной сущности Floatingpoint определено уравнением
V = -1 S *F *2 ‘*(2-2(N-1))если Е = 0;
У= -1S* (1+F)* 2**(Е - 2(N-1) +1)в противном случае.
при этом значения членов настоящего уравнения определены следующим образом:
1) «S» — значение знакового бита.
2) «Е» — значение показателя степени.
3) «N» — число битов в показателе степени.
4) «F» — сумма взвешенных значений битов дробной части.
Наиболее значительный бит дробной части (бит «п + 1» в нумерации, описанной в разделе 1)
должен иметь взвешенное значение, равное значению данного бита, умноженному на 2Л. Наименее
значительный бит дробной части (бит «к» в нумерации, описанной в разделе 1)должен иметь взвешен
ное значение, равное значению данного бита, умноженному на 2(NK>;
0 все прочие значения считаются некорректными.
Представление последующих октетов совместимос представлением с плавающей точкой одинар
ной точности по IEEE 754. Здесь число последующих октетов равно четырем, а значение начального
октета - 8. Совместимость с представлением с плавающей точкой двойной точности по IEEE 754
имеет место, если число последующих октетов равно восьми, а значение начального октета - 11.
92