Числовые литералы
Числовые литералы подразделяются на два класса: вещественные литералы и целые литералы. Вещественный литерал — это числовой литерал, который включает точку; целый литерал — это числовой литерал без точки. Вещественные литералы являются литералами типа
универсальный-вещественный.
Целые литералы — литералы типа
универсальный-целый.
числовой-литерал ::= десятичный-литерал | литерал-с-основанием
Ссыпки:
литерал 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.
Пред. | Уровень выше | След. |
2.3. ИДЕНТИФИКАТОРЫ | Содержание | 2.5. СИМВОЛЬНЫЕ ЛИТЕРАЛЫ |