Differenze tra le versioni di "Convertire un numero da Decimale in Binario"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Come è noto, per convertire un numero da Decimale in rappresentazione binaria, si può far uso agevolmente dell'apposita funzione Bin$. Volendo, è ovviamente poss...')
 
 
(21 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Come è noto, per convertire un numero da Decimale in rappresentazione binaria, si può far uso agevolmente dell'apposita [[Bin$|funzione Bin$]].
+
Per convertire un numero da Decimale in rappresentazione binaria, sono possibili alcune modalità.
 +
==Uso della funzione "Bin()"==
 +
Come è noto, si può far uso agevolmente dell'apposita [[Bin$|funzione Bin()]]:
 +
Public Sub Main()
 +
 +
  Print <FONT Color=red>Bin</font>(1000, 16)
 +
 +
End
  
  
Volendo, è ovviamente possibile raggiungere il medesimo risultato con apposito codice, come ad esempio il seguente:
+
==Uso della funzione "Base()"==
  '''Public''' Sub Main()
+
Si può far uso anche della funzione "Base()", la quale restituisce la rappresentazione stringa di un numero in base definita nel 2° parametro, che deve essere un numero compreso fra 2 e 36.
 +
  Public Sub Main()
 +
 +
  Print Base(1000, 2)
 
   
 
   
  Dim n As Integer = 123456789
+
End
  Dim bb As New Byte[]
+
 
  Dim s As String
+
 
 
+
==Uso della funzione esterna ''SDL_ltoa()'' del API di SDL2==
  While n > 0
+
E' inoltre possibile far uso della funzione esterna "ltoa()" del API di SDL2.
 +
 
 +
In tal caso sarà necessario installare nel sistema e richiamare nell'applicazione Gambas la libreria condivisa: "''libSDL2-2.0.so.0.3000.7'' ".
 +
 
 +
Mostriamo un semplice esempio:
 +
Library "libSDL2-2.0:0.3000.7"
 
   
 
   
    bb.Add(CByte(Asc(CStr(n Mod 2))))
+
<FONT Color=gray>' ''char * SDL_ltoa(long value, char * string, int radix)''</font>
    n \= 2
+
Private Extern SDL_ltoa(value As Integer, strP As Pointer, radix As Integer)
 
   
 
   
  Wend
 
 
   
 
   
  With bb
+
Public Sub Main()
    .Reverse
 
    s = bb.ToString()
 
  End With
 
 
   
 
   
  Print "Risultato: "; s
+
  Dim p As Pointer
 
    
 
    
  '''End'''
+
  p = Alloc(64)
 +
 
 +
  SDL_ltoa(123456789, p, 2)
 +
 
 +
  Print String@(p)
 +
 
 +
  Free(p)
 +
 +
  End
 +
 
 +
 
 +
 
 +
=Riferimenti=
 +
https://fossies.org/dox/SDL2-2.0.3/SDL__string_8c.html

Versione attuale delle 01:29, 31 ott 2024

Per convertire un numero da Decimale in rappresentazione binaria, sono possibili alcune modalità.

Uso della funzione "Bin()"

Come è noto, si può far uso agevolmente dell'apposita funzione Bin():

Public Sub Main()

 Print Bin(1000, 16)

End


Uso della funzione "Base()"

Si può far uso anche della funzione "Base()", la quale restituisce la rappresentazione stringa di un numero in base definita nel 2° parametro, che deve essere un numero compreso fra 2 e 36.

Public Sub Main()

 Print Base(1000, 2)

End


Uso della funzione esterna SDL_ltoa() del API di SDL2

E' inoltre possibile far uso della funzione esterna "ltoa()" del API di SDL2.

In tal caso sarà necessario installare nel sistema e richiamare nell'applicazione Gambas la libreria condivisa: "libSDL2-2.0.so.0.3000.7 ".

Mostriamo un semplice esempio:

Library "libSDL2-2.0:0.3000.7"

' char * SDL_ltoa(long value, char * string, int radix)
Private Extern SDL_ltoa(value As Integer, strP As Pointer, radix As Integer)


Public Sub Main()

 Dim p As Pointer
 
 p = Alloc(64)
  
 SDL_ltoa(123456789, p, 2)
  
 Print String@(p)
  
 Free(p)

End


Riferimenti

https://fossies.org/dox/SDL2-2.0.3/SDL__string_8c.html