Differenze tra le versioni di "Ottenere in Gambas il risultato di uno spostamento di bit scritto in linguaggio C"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per ottenere mediante il solo codice Gambas il risultato dello Spostamento di Bit ''a destra'' scritto in linguaggio C ( '''>>''' ): numero >> quantità bit di scorrimento es...")
 
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
Per ottenere mediante il solo codice Gambas il risultato dello Spostamento di Bit ''a destra'' scritto in linguaggio C ( '''>>''' ):
+
Per ottenere mediante il solo codice Gambas il risultato dello Spostamento di Bit ''a destra'' <SPAN style="text-decoration:underline">scritto nel codice di un progetto Gambas in linguaggio C</span> ( '''>>''' ): <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
 
  numero >> quantità bit di scorrimento
 
  numero >> quantità bit di scorrimento
 
esempio:
 
esempio:
Riga 40: Riga 40:
 
    
 
    
 
  '''End'''
 
  '''End'''
 +
 +
 +
 +
=Note=
 +
[1] Vedere anche questa pagina: [[Sostituire gli operatori logici di spostamento dei bit con semplici operazioni]]

Versione attuale delle 00:57, 11 mag 2023

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