F # - Tipi di dati
I tipi di dati in F # possono essere classificati come segue:
- Tipi integrali
- Tipi in virgola mobile
- Tipi di testo
- Altri tipi
Tipo di dati integrale
La tabella seguente fornisce i tipi di dati integrali di F #. Questi sono fondamentalmente tipi di dati interi.
Tipo F # | Taglia | Gamma | Esempio | Osservazioni |
---|---|---|---|---|
sbyte | 1 byte | Da -128 a 127 | 42y -11y |
Intero con segno a 8 bit |
byte | 1 byte | Da 0 a 255 | 42uy 200uy |
Intero senza segno a 8 bit |
int16 | 2 byte | Da -32768 a 32767 | 42s -11s |
Intero con segno a 16 bit |
uint16 | 2 byte | Da 0 a 65.535 | 42us 200us |
Intero senza segno a 16 bit |
int / int32 | 4 byte | -2.147.483.648 a 2.147.483.647 | 42 -11 |
Intero con segno a 32 bit |
uint32 | 4 byte | Da 0 a 4.294.967.295 | 42u 200u |
Intero senza segno a 32 bit |
int64 | 8 byte | -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 | 42L -11L |
Intero con segno a 64 bit |
uint64 | 8 byte | Da 0 a 18.446.744.073.709.551.615 | 42UL 200UL |
Intero senza segno a 64 bit |
bigint | Almeno 4 byte | qualsiasi numero intero | 42I 1499999 9999999 9999999 9999999 9999I |
numero intero di precisione arbitraria |
Esempio
(* single byte integer *)
let x = 268.97f
let y = 312.58f
let z = x + y
printfn "x: %f" x
printfn "y: %f" y
printfn "z: %f" z
(* unsigned 8-bit natural number *)
let p = 2uy
let q = 4uy
let r = p + q
printfn "p: %i" p
printfn "q: %i" q
printfn "r: %i" r
(* signed 16-bit integer *)
let a = 12s
let b = 24s
let c = a + b
printfn "a: %i" a
printfn "b: %i" b
printfn "c: %i" c
(* signed 32-bit integer *)
let d = 212l
let e = 504l
let f = d + e
printfn "d: %i" d
printfn "e: %i" e
printfn "f: %i" f
Quando compili ed esegui il programma, restituisce il seguente output:
x: 1
y: 2
z: 3
p: 2
q: 4
r: 6
a: 12
b: 24
c: 36
d: 212
e: 504
f: 716
Tipi di dati a virgola mobile
La tabella seguente fornisce i tipi di dati a virgola mobile di F #.
Tipo F # | Taglia | Gamma | Esempio | Osservazioni |
---|---|---|---|---|
float32 | 4 byte | Da ± 1.5e-45 a ± 3.4e38 | 42.0F -11.0F |
Numero in virgola mobile con segno a 32 bit (7 cifre significative) |
galleggiante | 8 byte | Da ± 5.0e-324 a ± 1.7e308 | 42.0 -11.0 |
Numero in virgola mobile con segno a 64 bit (15-16 cifre significative) |
decimale | 16 byte | Da ± 1.0e-28 a ± 7.9e28 | 42.0M -11,0 M |
Numero in virgola mobile con segno a 128 bit (28-29 cifre significative) |
BigRational | Almeno 4 byte | Qualsiasi numero razionale. | 42N -11N |
Numero razionale di precisione arbitraria. L'utilizzo di questo tipo richiede un riferimento a FSharp.PowerPack.dll. |
Esempio
(* 32-bit signed floating point number *)
(* 7 significant digits *)
let d = 212.098f
let e = 504.768f
let f = d + e
printfn "d: %f" d
printfn "e: %f" e
printfn "f: %f" f
(* 64-bit signed floating point number *)
(* 15-16 significant digits *)
let x = 21290.098
let y = 50446.768
let z = x + y
printfn "x: %g" x
printfn "y: %g" y
printfn "z: %g" z
Quando compili ed esegui il programma, restituisce il seguente output:
d: 212.098000
e: 504.768000
f: 716.866000
x: 21290.1
y: 50446.8
z: 71736.9
Tipi di dati di testo
La tabella seguente fornisce i tipi di dati di testo di F #.
Tipo F # | Taglia | Gamma | Esempio | Osservazioni |
---|---|---|---|---|
char | 2 byte | U + 0000 a U + ffff | 'X' '\ t' |
Caratteri unicode singoli |
corda | 20 + (2 * lunghezza della stringa) byte | Da 0 a circa 2 miliardi di caratteri | "Ciao" "Mondo" |
Testo Unicode |
Esempio
let choice = 'y'
let name = "Zara Ali"
let org = "Tutorials Point"
printfn "Choice: %c" choice
printfn "Name: %s" name
printfn "Organisation: %s" org
Quando compili ed esegui il programma, restituisce il seguente output:
Choice: y
Name: Zara Ali
Organisation: Tutorials Point
Altri tipi di dati
La tabella seguente fornisce alcuni altri tipi di dati di F #.
Tipo F # | Taglia | Gamma | Esempio | Osservazioni |
---|---|---|---|---|
bool | 1 byte | Solo due possibili valori, vero o falso | vero falso |
Memorizza i valori booleani |
Esempio
let trueVal = true
let falseVal = false
printfn "True Value: %b" (trueVal)
printfn "False Value: %b" (falseVal)
Quando compili ed esegui il programma, restituisce il seguente output:
True Value: true
False Value: false