Числовые литералы подразделяются на два класса: вещественные литералы и целые литералы. Вещественный литерал — это числовой литерал, который включает точку; целый литерал — это числовой литерал без точки. Вещественные литералы являются литералами типауниверсальный-вещественный. Целые литералы — литералы типа универсальный-целый.
числовой-литерал ::= десятичный-литерал | литерал-с-основанием
Ссыпки: литерал 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.