Differenze tra le versioni di "Rappresentazione esadecimale di un dato in formato "a lunghezza variabile""

Da Gambas-it.org - Wikipedia.
(Nuova pagina: Il formato "''a lunghezza variabile''" rappresenta i numeri usando solo sette bit per byte, mentre il bit <I>più significativo</i> è impostato ad un valore tale da poterlo riconoscer...)
 
(Pagina svuotata)
Riga 1: Riga 1:
Il formato "''a lunghezza variabile''" rappresenta i numeri usando solo sette bit per byte, mentre il bit <I>più significativo</i> è impostato ad un valore tale da poterlo riconoscere. Se la rappresentazione contiene più byte per esprimere un numero, il bit più significativo dei primi byte sarà posto sempre ad 1, mentre quello dell'ultimo byte sarà sempre posto a 0. Tale impostazione sta ad indicare che, quando il bit più significativo è posto ad 1, tale byte <U>non</u> è l'ultimo della rappresentazione esadecimale, ma che dopo di esso v'è un altro byte. Se il bit più significativo è invece posto a 0, allora vuol dire che il byte, al quale quel bit appartiene, è l'ultimo della rappresentazione.
 
  
 
 
Di seguito verrà mostrato un algoritmo per ottenere la ''rappresentazione'' esadecimale di un dato "''a lunghezza variabile''".
 
 
''<Font Color= #006400>' Gambas class file''</font>
 
 
 
'''Public''' Sub Button1_Click()
 
 
 
  Dim a, b, c rob As Integer
 
 
 
  c = InputBox("Immetti un numero in forma decimale:")
 
 
 
  b = c Mod 128
 
  rob = Fix(c / 128)
 
 
 
 
  While rob > 0
 
 
 
    a = rob Mod 128
 
    a = a Or 128
 
    rob = Fix(rob / 128)
 
   
 
''<Font Color= #006400>' mostra il valore finale con formato "a lunghezza variabile":''</font>
 
  Print Hex(a), Hex(b, 2)
 
 
 
  Wend
 
 
'''End'''
 

Versione delle 08:46, 12 giu 2016