Ada Conformity Assessment Authority      Home Conformity Assessment   Test Suite ARGAda Standard
 
Ada Reference Manual (Ada 2022)Legal Information
Contents   Index   References   Search   Previous   Next 

2.4.2 Based Literals

1
A based_literal is a numeric_literal expressed in a form that specifies the base explicitly. 

Syntax

2
based_literal ::= 
   base # based_numeral [.based_numeral] # [exponent]
3
base ::= numeral
4
based_numeral ::= 
   extended_digit {[underlineextended_digit}
5
extended_digit ::= digit | A | B | C | D | E | F

Legality Rules

6
The base (the numeric value of the decimal numeral preceding the first #) shall be at least two and at most sixteen. The extended_digits A through F represent the digits ten through fifteen, respectively. The value of each extended_digit of a based_literal shall be less than the base. 

Static Semantics

7
The conventional meaning of based notation is assumed. An exponent indicates the power of the base by which the value of the based_literal without the exponent is to be multiplied to obtain the value of the based_literal with the exponent. The base and the exponent, if any, are in decimal notation.
8
The extended_digits A through F can be written either in lower case or in upper case, with the same meaning. 

Examples

9
Examples of based literals: 
10
2#1111_1111#  16#FF#      016#0ff#  -- integer literals of value 255
16#E#E1      2#1110_0000#           -- integer literals of value 224
16#F.FF#E+2  2#1.1111_1111_1110#E11 -- real literals of value 4095.0

Contents   Index   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe