Ottenere un numero dalla sua memorizzazione in formato Little-Endian

Da Gambas-it.org - Wikipedia.

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

o anche:

Public Sub Main()

 Dim bb As Byte[] = [&04, &03, &02, &01]
 Dim i As Integer
  
 i = (bb[0] Or ((bb[1] * CInt(2 ^ 8)))) Or (bb[2] * CInt(2 ^ 16)) Or (bb[3] * CInt(2 ^ 24))
  
 Print i
  
End