Sottrazione con operatori bitwise
Vai alla navigazione
Vai alla ricerca
Il codice per operare una sottrazione con operatori bitwise fra due numeri, considerati come fossero binari, va impostato in modo tale che innanzitutto effettui lo XOR fra i due operandi; poi deve eseguire il NOT bitwise del primo operando. Infine deve effettuare l'AND fra i due operandi, e uno shift a sinistra.
Mostriamo il codice esemplificativo:
Public Sub Main()
Dim minuendo, sottraendo, differenza As Integer
minuendo = 240
sottraendo = 15
differenza = sottrazione_binaria(minuendo, sottraendo)
Print differenza
End
Private Function sottrazione_binaria(op1 As Integer, op2 As Integer) As Integer
Dim sb, prestito As Integer
prestito = 1
While prestito <> 0
sb = op1 Xor op2
op1 = Not op1
prestito = op1 And op2
prestito = prestito * CInt(2 ^ 1)
op1 = sb
op2 = prestito
Wend
Return op1
End