integer_literal

integer_literal 
      ::= 
      ( ( "1..9" { "0..9" } ) 
      | { "0..7" } 
      | ( "0" "x" "0..9a..f" { "0..9a..f" } ) ) 
      [ "l" ] 

[rule list]
This rule is called by

-> literal_expression

Explications

Une valeur entière peut être codée en décimal (base 10), hexadécimal (base 16) ou en octal (base 8). Si l'on désire coder un nombre en hexadécimal, on précédera sa valeur par le préfixe 0x. Si un nombre commence par un zéro, le compilateur l'interprétera comme un nombre octal, et sinon, le nombre sera décimal.

Le suffixe l ou L peut être ajouté à une valeur si on désire spécifier qu'il s'agit d'un entier long (64 bits).

Exemples

byte nombreHexa    = 0xff;
int  nombreDecimal = 1996;
long nombreOctal   = 01234567L;
long autreHexa     = 0XdeadbeefL;

long calcul = 12L * nombreOctal;

Index général - Index concepts - Règles BNF
© 1996, DIP Genève, Alexandre Maret & Jacques Guyot
page générée Fri Jun 21 15:40:59 MET DST 1996