Next: , Previous: 2.4.1, Up: 2.4


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 {[underline] extended_digit}

5

extended_digit::= digit 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