Differenze tra le versioni di "Conoscere un valore memorizzato in un file in modalità Big-Endian"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Leggendo in un file i byte rappresentanti un valore, memorizzato in modalità "''Big-Endian''", se invece il sistema operativo adotta la modalità ''Little-Endian'', si otterr...")
 
 
Riga 1: Riga 1:
Leggendo in un file i byte rappresentanti un valore, memorizzato in modalità "''Big-Endian''", se invece il sistema operativo adotta la modalità ''Little-Endian'', si otterrà un valore errato.
+
#redirect [[Ottenere_un_numero_dalla_sua_memorizzazione_in_formato_Big-Endian]]
 
 
Ad esempio, se il valore è memorizzato nel file secondo l'ordine ''Big-Endian'', come segue:
 
05 03 01
 
il sistema, che adotta la modalità ''Little-Endian'', lo restituirà invertito:
 
01 03 05
 
 
 
Un modo, per ottenere una lettura coerente con la memorizzazione in modalità ''Big-Endian'', può essere quello di usare un vettore di tipo Byte[].
 
 
 
Esempio:
 
'''Public''' Sub Main()
 
 
 
  Dim fl As File
 
  Dim bb As New Byte[3]
 
  Dim b As Byte
 
 
 
  fl = Open "<FONT Color=gray>''/percorso/del/file''</font>" For Read
 
 
 
<FONT Color=gray>' ''Leggiamo dal file i tre byte che rappresentano il valore:''</font>
 
  bb.Read(fl, 0, 3)
 
 
 
  bb.Reverse()
 
 
 
  Print Int@(bb.Data)
 
 
 
  fl.Close
 
 
 
'''End'''
 
 
 
 
 
 
 
 
 
 
 
<FONT Color=red size=4><B>Pagina in costruzione !</b></font>
 

Versione attuale delle 18:54, 16 apr 2018