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
|