TYPE

decimal literal:
    1-9[0-9]

sedecimal literal:
    0x11

binary literal:
    0b00010001

octal literal:
    0o21

char literal:
    `<character>`

DESCRIPTION

An integer. Normally full 32 bits signed, yielding a range of at least -2,147,483,648 to 2,147,483,647. The exact available range is given by predefined __INT_MIN__ and __INT_MAX__.

USAGE

Integer values can be specified in decimal, in sedecimal when preceeded by 0x (e.g. 0x11), binary when preceeded by 0b (e.g. 0b00010001), octal when preceeded by 0o (e.g. 0o21) and as character yielding the charset value for the character as the number to use (e.g. '0' yields 48 on ASCII machines).

Character values are enclosed in single-quotes ('), with the sequence ''' returning the single-quote itself. Instead of the literal character an escape-sequence can be written between the single-quotes:

\N
the character code N in decimal
\0xN
the character code N in sedecimal
\xN
the character code N in sedecimal
\0oN
the character code N in octal
\0bN
the character code N in binary
\a
Bell (0x07)
\b
Backspace (0x08)
\t
Tab (0x09)
\e
Escape (0x1b)
\n
Newline (0x0a)
\f
Formfeed (0x0c)
\r
Carriage Return (0x0d)
\<other character>
the given character

SYNTAX

integer        ::=  decimalinteger | octinteger | hexinteger | bininteger | char
decimalinteger ::=  nonzerodigit digit* | "0"+
nonzerodigit   ::=  "1"..."9"
digit          ::=  "0"..."9"
octinteger     ::=  "0" ("o" | "O") octdigit+
hexinteger     ::=  "0" ("x" | "X") hexdigit+
bininteger     ::=  "0" ("b" | "B") bindigit+
octdigit       ::=  "0"..."7"
hexdigit       ::=  digit | "a"..."f" | "A"..."F"
bindigit       ::=  "0" | "1"
char           ::=  "'" unicode_char "'"

SEE ALSO

types, float, string, public