2.4. ЧИСЛОВЫЕ ЛИТЕРАЛЫ

Числовые литералы подразделяются на два класса: вещественные литералы и целые литералы. Вещественный литерал — это числовой литерал, который включает точку; целый литерал — это числовой литерал без точки. Вещественные литералы являются литералами типауниверсальный-вещественный. Целые литералы — литералы типа универсальный-целый.

числовой-литерал ::= десятичный-литерал | литерал-с-основанием

Ссыпки: литерал 4.2, универсальный-вещественный тип 3.5.6, универсальный-целый тип3.5.4.

2.4.1. ДЕСЯТИЧНЫЕ ЛИТЕРАЛЫ

Десятичный литерал — это числовой литерал, выраженный в общепринятой десятичнойсистеме (основание по умолчанию равно десяти).

десятичный-литерал ::= целое [.целое] [порядок]целое   ::= цифра {[подчеркивание] цифра}порядок ::= Е [+] целое | E - целое

Символ подчеркивания между соседними цифрами десятичного литерала не влияет назначение числового литерала. Буква Е в порядке может быть строчной или прописной буквойс одним и тем же назначением.

Для получения значения десятичного литерала с порядком следует умножить значениедесятичного литерала без порядка на степень десяти, заданную порядком. Порядок для целого литерала не должен содержать знак минус.

Примеры:

12

0

1Е6

123_456

-- целые литералы

12.0

0.0

0.156

3.14159_26

-- вещественные литералы

1.34Е-12

1.0Е+6

-- вещественные литералы с порядком

Примечание: Ведущие нули допускаются. Пробел в числовом литерале недопустим дажемежду составными частями порядка, поскольку пробел является разделителем. Нулевой порядок для целого литерала допустим.

Ссылки: прописная буква 2.1, разделитель 2.2, символ пробела 2.1, строчная буква 2.1,цифра 2.1, числовой литерал 2.4.

2.4.2. ЛИТЕРАЛЫ С ОСНОВАНИЕМ

Литерал с основанием — это числовой литерал, в котором явно указано основание. Основание должно принимать значение от 2 до 16.

литерал-с-основанием ::= основание # целое-с-основанием   [.целое-с-основанием] # [порядок]основание :: = целоецелое-с-основанием ::=   расширенная-цифра {[подчеркивание] расширенная-цифра}расширенная-цифра ::= цифра | буква

Символ подчеркивания, заключенный между соседними цифрами литерала с основанием,не влияет на значение этого числового литерала. Основание и порядок записываются в десятичной системе. В качестве расширенных цифр от 10 до 15 допускаются только латинскиебуквы от А до F. Буква в литерале с основанием (расширенная цифра или буква Е в порядке)может быть строчной или прописной с одним и тем же смыслом.

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

Примеры:

2#1111_1111#

16#FF#

016#0FF#

-- целые литералы со значением 255

16#Е#Е1

2#1110_0000#

-- целые литералы со значением 224

16#F.FF#E+2

2#1.1111_1111_111#Е11

-- действительные литералы со значением 4095.0

Ссылки: буква 2.3, порядок 2.4.1, прописная буква 2.1, строчная буква 2.1, цифра 2.1, числовойлитерал 2.4.