Conoscere di un numero la posizione del primo bit da destra impostato a 1

Da Gambas-it.org - Wikipedia.
Versione del 15 ott 2015 alle 15:46 di Vuott (Discussione | contributi) (Creata pagina con "Per conoscere di un numero la posizione del primo bit da destra impostato a 1, è possibile utilizzare la funzione ''ffs()'' della libreria esterna di C: ''/usr/include/string...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Per conoscere di un numero la posizione del primo bit da destra impostato a 1, è possibile utilizzare la funzione ffs() della libreria esterna di C: /usr/include/strings.h .

Se il numero è zero, ossia se nessun bit è impostato a 1, sarà restituito: zero.


Mostriamo un semplice esempio con il numero 66:

Library "libc:6"

' int ffs (int __i)
' Return the position of the first bit set in 1, or 0 if none are set.
Private Extern ffs(i As Integer) As Integer


Public Sub Main()
 
  Print ffs(66)
  
End

La rappresentazione binaria del numero 66 è la seguente: 01000010; pertanto il primo bit a destra impostato ad 1 è il secondo.
Infatti il risultato del predetto esempio restituisce: 2.