In F#, as in most other modern languages, there is a variety of numerical types. The main reason for this is to enable you, as a programmer, to choose the most appropriate numerical type at any given situation. Sometimes there is no need for a 64-bit integer as 8-bit will be enough for small numbers. Another aspect is memory efficiency and consumption, that is, 64-bit integers will consume eight times as much as 8-bit integers.
The following is a table with the most common numerical types used in the F# code. They come in two main varieties; integers and floating-point numbers:
Type |
Description |
Example |
---|---|---|
byte |
8-bit unsigned integers |
10uy, 0xA0uy |
sbyte |
8-bit signed integers |
10y |
int16 |
16-bit signed integers |
10s |
uint16 |
16-bit unsigned integers |
10us |
int, int32 |
32-bit signed integers |
10 |
uint32 |
32-bit unsigned integers |
10u |
int64 |
64-bit signed integers |
10L |
uint64 |
64-bit unsigned integers |
10UL |
nativeint |
Hardware-sized signed integers ... |