Porre a 1 un bit di un numero
Da Gambas-it.org - Wikipedia.
Versione del 2 mar 2016 alle 17:15 di Vuott (Discussione | contributi)
Per porre a 1 il bit di un valore numerico, possiamo adottare il seguente codice (per valori non superiori a 32 bit):
Public Sub Main() Dim i, ris As Integer Dim bit As Byte ' Valore iniziale: i = 888 ' Del valore iniziale pone a 1 l'ottavo bit (indice 0 - 31): bit = 7 ris = i Or (1 * CInt(2 ^ bit)) ' oppure così: ris = i Or Shl(1, CInt(bit)) Print ris End
Porre a zero un bit
Se, invece, si vuole porre a zero un bit di un numero, potremo utilizzare il sguente codice (per valori non superiori a 32 bit):
Public Sub Main() Dim i, ris As Integer Dim bit As Byte ' Valore iniziale: i = 65535 ' Del valore iniziale pone a 0 il nono bit (indice 0 - 31): bit = 8 ris = i And (-1 Xor (1 * CInt(2 ^ bit))) Print ris End