Spec-Zone.ru › Ada 2022
Справочник по Ada (Ada 2022)

2.4.2 Литералы в разных системах счисления

Литерал based_literal — это numeric_literal, записанный в форме, явно указывающей систему счисления.

Синтаксис

based_literal ::=
base # based_numeral [.based_numeral] # [exponent]
base ::= numeral
based_numeral ::=
extended_digit {[underline] extended_digit}
extended_digit ::= digit | A | B | C | D | E | F

Правила лексического анализа

Значение base (целочисленное значение десятичного numeral перед первым символом #) должно быть не меньше 2 и не больше 16. Символы A—F представляют собой цифры от 10 до 15 соответственно. Значение каждой цифры extended_digit в литерале based_literal должно быть меньше, чем основание системы счисления.

Статическая семантика

Предполагается общепринятое значение для обозначения чисел в разных системах счисления. Показатель степени exponent указывает на степень основания, на которую умножается значение based_literal без показателя степени, для получения значения с показателем степени. Значение основания base и, при необходимости, показателя степени exponent записаны в десятичной системе счисления.
Цифры A—F могут быть записаны как в нижнем, так и в верхнем регистре, при этом значение не меняется.

Примеры

Примеры литералов в разных системах счисления:
2#1111_1111# 16#FF# 016#0ff# -- целые литералы со значением 255
16#E#E1 2#1110_0000# -- целые литералы со значением 224
16#F.FF#E+2 2#1.1111_1111_1110#E11 -- вещественные литералы со значением 4095.0


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API