numeric types

À propos des types entiers et à virgule flottante.

📄 Description

Dans Nelson, vous pouvez préciser le type de données d'un littéral numérique en utilisant un suffixe ou un spécificateur de type.

Voici quelques suffixes courants pour spécifier le type des littéraux numériques :

suffixe du littéral
type Nelson

f32

single (float simple précision)

f64

double (float double précision)

i8

int8 (entier signé 8 bits)

i16

int16 (entier signé 16 bits)

i32

int32 (entier signé 32 bits)

i64

int64 (entier signé 64 bits)

u8

uint8 (entier non signé 8 bits)

u16

uint16 (entier non signé 16 bits)

u32

uint32 (entier non signé 32 bits)

u64

uint64 (entier non signé 64 bits)

i64 : pour spécifier un entier signé 64 bits, vous pouvez utiliser le suffixe i64. exemple : A = 42i64

f32 : pour spécifier un nombre à virgule flottante 32 bits (simple précision), vous pouvez utiliser le suffixe f32. exemple : 3.14f32

Ces suffixes aident Nelson à inférer le type de données correct pour le littéral.

Par défaut, Nelson infère automatiquement le type double et vous n'avez pas besoin de spécifier ce suffixe explicitement. exemple : A = 3.14

Sauf si vous avez des besoins spécifiques ou devez dissiper une ambiguïté entre types, vous n'avez souvent pas besoin de préciser explicitement le type des littéraux numériques.

Cependant, lorsque vous créez un tableau numérique de grands entiers dans Nelson, surtout lorsqu'ils dépassent la précision maximale représentable par double (plus grands que flintmax), Nelson stocke par défaut ces valeurs en double précision à virgule flottante.

💡 Exemples

nombre simple explicite


single(3.1415)
3.1415f32

nombre double implicite-explicite


3.1415
3.1415f64

valeurs dépassant la précision maximale représentable par double


R1 = uint64([72057594035891654 81997179153022975])
R2 = [72057594035891654u64 81997179153022975u64]

🔗 Voir aussi

double, single, int8, int16, int32, int64, uint8, uint16, uint32, uint64.

🕔 Historique

Version
📄 Description

1.0.0

version initiale

Last updated

Was this helpful?