Ottenere un numero dalla sua memorizzazione in formato Little-Endian

Da Gambas-it.org - Wikipedia.
Versione del 21 feb 2016 alle 06:32 di Vuott (Discussione | contributi) (Creata pagina con "Il caso è quello in cui si intende convertire i dati di un valore, memorizzati in formato ''Little-Endian'' all'interno di un vettore di tipo ''Byte[ ]'', ottenendo così al...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Il caso è quello in cui si intende convertire i dati di un valore, memorizzati in formato Little-Endian all'interno di un vettore di tipo Byte[ ], ottenendo così al termine l'effettivo e reale numero corrispondente.


Porremo come esempio un vettore di tipo Byte[ ] di quattro elementi, contenente i seguenti valori: &04, &03, &02 e &01, che rappresentano in formato Little-Endian il numero decimale: 16909060. Per ottenere detto numero, potremo utilizzare alcune modalità:

Public Sub Main()

 Dim bb As Byte[] = [&04, &03, &02, &01]
 Dim i As Integer
 
  i = Int@(bb.Data)
  
  Print i
  
End


oppure:

Public Sub Main()

 Dim bb As Byte[] = [&04, &03, &02, &01]
 Dim i As Integer
  
  i = bb[0]
  i += bb[1] * 256            ' &0100
  i += bb[2] * 65536        ' &010000
  i += bb[3] * 16777216   ' &01000000
  
  Print i
  
End