BitROL, BitROR                              (XAPI2000)

Deklaration VB 6.0
Sub BitROL (X As Long, ByVal Count As Long)
Sub BitROR (X As Long, ByVal Count As Long)

Deklaration VB.NET
Sub BitROL (ByRef X As Integer, ByVal Count As Integer)
Sub BitROR (ByRef X As Integer, ByVal Count As Integer)

Beskrivning
Två funktioner som roterar bitarna i ett tal till vänster eller höger. Funktionen BitROL roterar åt vänster och BitROR åt höger. Parametern X innehåller det 32-bitars tal som ska modifieras och parametern Count anger hur många steg som bitarna ska roteras.

Ska ett tal skiftas istället för roteras kan funktionerna BitSHL och BitSHR används. Skillnaden mellan skiftning och rotering är att vid skiftning så får nya bitar som skiftas in alltid värdet 0 medan vid rotering så får den nya biten samma värde som den utgående biten i andra änden av det binära talet. Exempel:

Skifta det binära talet 011 tre steg åt vänster
  011 -> 110 -> 100 -> 000      (nytt värde för talet = 000)

Rotera det binära talet 011 tre steg åt vänster
  011 -> 110 -> 101 -> 011      (nytt värde för talet = 011, dvs samma värde som innan)

Ovanstående två exempel visade vad som händer när man skiftar eller roterar ett 3-bitars tal. Funktionerna hanterar endast 32-bitars tal, så för att rotera ett helt varv krävs att parametern Count har värdet 32.

Se även
BitSHL, BitSHR


Exempel (VB 6.0)

Dim X As Long
X = 3
BitROL X, 16   ' Rotera 16 steg åt vänster, ger X = 196608
BitROL X, 16   ' Rotera 16 steg åt vänster, ger X = 3 igen


Exempel (VB.NET)

Dim X As Integer
X = 3
BitROL(X, 16)   ' Rotera 16 steg åt vänster, ger X = 196608
BitROL(X, 16)   ' Rotera 16 steg åt vänster, ger X = 3 igen

    
  
SamLogic