Numeric Literals
Numbers can be written in various bases. Numbers are assumed to be decimal by default. Non-decimal literals have a specific prefix.
Numeral system
Prefix
Characters
Decimal
None
one or more numbers (0
to 9
)
Binary
0b
one or more zeros or ones (0
or 1
)
Octal
0o
one or more numbers in the range 0
to 7
Hexadecimal
0x
one or more numbers, or characters a
to f
, lowercase or uppercase
// A decimal number
//
1234567890 // is `1234567890`
// A binary number
//
0b101010 // is `42`
// An octal number
//
0o12345670 // is `2739128`
// A hexadecimal number
//
0x1234567890ABCabc // is `1311768467294898876`
// Invalid: unsupported prefix 0z
//
0z0
// A decimal number with leading zeros. Not an octal number!
00123 // is `123`
// A binary number with several trailing zeros.
0b001000 // is `8`
Decimal numbers may contain underscores (_
) to logically separate components.
let largeNumber = 1_000_000
// Invalid: Value is not a number literal, but a variable.
let notNumber = _123
Underscores are allowed for all numeral systems.
let binaryNumber = 0b10_11_01
Last updated
Was this helpful?