Distinguere ogni byte della rappresentazione esadecimale di un valore decimale
Da Gambas-it.org - Wikipedia.
Versione del 9 mag 2014 alle 10:41 di Vuott (Discussione | contributi)
Il caso è quello in cui si intende inserire in un vettore di tipo Byte[] i singoli byte che compongono la rappresentazione esadecimale di un valore inizialmente dichiarato decimale.
Più in particolare, se ad esempio il valore decimale iniziale è 123456, si inseriranno in ciascun elemento del vettore di tipo Byte[] i byte della corrispondente sua rappresentazione esadecimale 0001E240:
Indice vett. | singolo byte | |
[0] | <- | 00 |
[1] | <- | 01 |
[2] | <- | E2 |
[3] | <- | 40 |
Di seguito un possibile codice:
Public Sub Main() Dim i As Integer Dim bb As New Byte[] Dim j As Byte i = 123456 bb.Add(i And &FF) bb.Add(Shr(i And &FF00&, 8)) bb.Add(Shr(i And &FF0000&, 16)) bb.Add(Shr(i And &FF000000&, 24)) Print "Ordine dei Byte 'little-endian':" For j = 0 To bb.Max Print Hex(bb[j], 2); Next bb = bb.Reverse() Print "\n\nOrdine dei Byte 'big-endian':" For j = 0 To bb.Max Print Hex(bb[j], 2); Next End