[quote=473421:@Rick Araujo]Public Function SShiftRight(v As Int64, numShift As Integer = 1) as Int64
If v>=0 Then
Return Bitwise.ShiftRight( v, numShift )
Else
If numShift=1 Then
Return Bitwise.BitOr( &h8000000000000000, Bitwise.ShiftRight( v, numShift ) )
End
Return Bitwise.BitOr( Bitwise.ShiftLeft( -1, 64 - numShift ), Bitwise.ShiftRight( v, numShift ) )
End
End Function[/quote]
You are a genius Rick!! It works seemingly perfectly for >>
. Thank you so much.
Since you seem well informed, I am assuming my method for an unsigned shift:
Public Function RShiftU32(v As Int32, shift As Integer) As Int32
Return Bitwise.ShiftRight(value, shift, 32)
End Function
Is good for both Int64 and Int32 data types?