- (1)
- A based_literal is a numeric_literal expressed in a form that specifies
the base explicitly.
(2)
based_literal ::=
base # based_numeral [.based_numeral] # [exponent]
(3)
base ::= numeral
(4)
based_numeral ::=
extended_digit {[underline] extended_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
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12