
La funzione int32() di Scilab
Nell'ambiente Scilab la funzione int32() converte un numero in un intero a 32 bit.
int32(x)
Il parametro x può essere un singolo numero oppure un array di numery.
Scilab restituisce i numeri nel formato intero a 32 bit.
Cos'è un intero a 32 bit? Sono i bit utilizzati per rappresentare il numero intero. Un bit può assumere solo due cifre, zero o uno. Quindi, un intero a 32 bit può rappresentare 232 numeri. Tuttavia, il bit più significativo, il primo da sinistra, è usato per indicare il segno del numero. Pertanto, complessivamente il formato dei numeri interi a 32 bit può rappresentare i numeri nell'intervallo compreso tra -231 e 231 ossia da -2.147.483.648 a 2.147.483.647
L'utilizzo di base della funzione è piuttosto semplice.
Ecco un esempio pratico.
Assegna un valore in virgola mobile alla variabile num.
num = 10.8
Poi converti il numero in un integer a 32 bit tramite la funzione int32()
int32(num)
La funzione tronca la parte decimale del numero e restituisce il numero intero 10 a 32 bit.
ans=
10
Cosa accade se il numero da convertire è troppo grande o troppo piccolo?
Se provi a convertire un numero al di fuori di questo intervallo usando int32(), Scilab applica le regole dell'aritmetica modulare.
Ad esempio, se superi il valore massimo (231) riparte dal valore minimo (-231)
int32(2^31+1)
ans=
-2147483648
Se, invece, il numero è al di sotto del valore minimo (-231), la funzione resta costante sul valore minimo.
int32(-2^31-10)
-2147483648
Come anticipato la funzione int32() può elaborare anche un array di numeri.
Ad esempio, definisci un array di valori decimali
A = [23.45, 67.89, 123.456];
Poi converti l'array tramite la funzione int32()
int32(A)
La funzione restituisce un array di numeri interi a 32 bit
ans=
23 67 123
Perché lavorare con gli interi a 32 bit?
La funzione int32() è particolarmente utile se devi condividere i dati con altre applicazioni che lavorano nel formato integer a 32 bit.
Inoltre, gli interi a 32 bit occupano meno spazio di memoria rispetto ai numeri in virgola mobile e agli interi a 64 bit.
Quindi, la conversione in int32 può aiutarti a ridurre l'uso della memoria.