Ottenere in Gambas il risultato di uno spostamento di bit scritto in linguaggio C

Da Gambas-it.org - Wikipedia.

Per ottenere mediante il solo codice Gambas il risultato dello Spostamento di Bit a destra scritto nel codice di un progetto Gambas in linguaggio C ( >> ): [Nota 1]

numero >> quantità bit di scorrimento

esempio:

16 >> 2

oppure dello Spostamento a sinistra ( << )

 numero << quantità bit di scorrimento

esempio:

16 << 2

possiamo utilizzare un codice del seguente tenore:

Public Sub Main()
 
 Dim s As String
 Dim i As Integer
 
' Inseriamo, come testo, un esempio spostamento di bit a sinistra scritto in C:
  s = "16 << 3"
   
  i = Spostamento(s)
   
  Print i
  
End


Private Function Spostamento(ds As String) As Integer
 
 Dim ris As Integer
 Dim ss As String[]
   
  ss = Scan(ds, "* * *")
   
  Select Case Trim(ss[1])
    Case "<<"
      ris = Val(Trim(ss[0])) * (2 ^ Val(Trim(ss[2])))
    Case ">>"
      ris = Val(Trim(ss[0])) \ CInt(2 ^ Val(Trim(ss[2])))
  End Select
     
  Return ris
  
End


Note

[1] Vedere anche questa pagina: Sostituire gli operatori logici di spostamento dei bit con semplici operazioni