lettura facile

La funzione uint8() di Scilab

La funzione uint8() di Scilab converte un numero in un numero intero senza segno a 8 bit.

uint8(x)

Dove x è il numero o la matrice di numeri che vuoi convertire.

La funzione restituisce un numero intero senza segno nella rappresentazione a 8 bit.

Il termine uint8 fa riferimento a un "unsigned integer" di 8 bit, cioè un intero che può variare tra 0 e 255. Ricorda che un bit può assumere solo due valori: 0 e 1. Quindi, il valore massimo intero rappresentabile con 8 bit è il numero 255 ossia 11111111 in binario che equivale a 1 byte.
8 bit in numero binario

L'utilizzo di uint8() in Scilab è piuttosto semplice.

Ad esempio, crea un numero in virgola mobile.

x=221.9

Poi converti il numero in un intero a 8 bit senza segno usando la funzione uint8(x)

uint8(x)

La funzione restituisce il valore intero 221

221

Se il numero è più grande del valore massimo rappresentabile a 8 bit senza segno (255), Scilab continua il computo dall'inizio.

l'aritmetica modulare dei numeri interi

Ad esempio, 255+1 diventa 0

uint(255+1)

0

Mentre 255+2 diventa 1 e via dicendo.

uint(255+1)

1

Lo stesso accade se il numero è inferiore al valore minimo rappresentabile (0), Scilab continua il computo dalla fine.

Ad esempio, 0-1 diventa 255

uint(0-1)

255

In altri termini, in questi casi Scilab non visualizza un errore di overflow perché si basa sull'aritmetica modulare.

Quando usare uint8()? Puoi usare la funzione uint8() per memorizzare dati interi positivi, compresi tra 0 e 255, senza occupare un eccessivo spazio di memoria. Ad esempio, nei sistemi RGB i colori nelle immagini sono definiti da tre numeri interi da 0 a 255 che indicano l'intensità del colore rosso, verde e blu. Rappresentare questi valori con interi a 16 bit, o superiore, sarebbe un'inutile spreco di memoria.

 

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin