Private Sub Command1_Click() Dim a As Integer, n As Integer Dim b As Integer, c As Integer Dim i As Integer a = 3: n = 15 For i = 1 To n b = a \ 2 c = (a Mod 2) * (2 ^ 14) a = c + b Debug.Print a Next
End Sub
手上没现成的代码。网上倒是一大堆SHL SHR的现成的函数
function ROR(long v,integer n) as long dim v1 as long dim v2 as long do if n<0 then n=n+16 else exit do loop n=n mod 16 select n case 0 ROR=v case 1 v1=(v and &H1&) * &H8000& v2=v \ &H2& ROR=v1 or v2 case 2 v1=(v and &H3&) * &H4000& v2=v \ &H4& ROR=v1 or v2 case 3 v1=(v and &H7&) * &H2000& v2=v \ &H8& ROR=v1 or v2 case 4 v1=(v and &HF&) * &H1000& v2=v \ &H10& ROR=v1 or v2 case 5 v1=(v and &H1F&) * &H800& v2=v \ &H20& ROR=v1 or v2 case 6 v1=(v and &H3F&) * &H400& v2=v \ &H40& ROR=v1 or v2 case 7 v1=(v and &H7F&) * &H200& v2=v \ &H80& ROR=v1 or v2 case 8 v1=(v and &HFF&) * &H100& v2=v \ &H100& ROR=v1 or v2 case 9 v1=(v and &H1FF&) * &H80& v2=v \ &H200& ROR=v1 or v2 case 10 v1=(v and &H3FF&) * &H40& v2=v \ &H400& ROR=v1 or v2 case 11 v1=(v and &H7FF&) * &H20& v2=v \ &H800& ROR=v1 or v2 case 12 v1=(v and &HFFF&) * &H10& v2=v \ &H1000& ROR=v1 or v2 case 13 v1=(v and &H1FFF&) * &H8& v2=v \ &H2000& ROR=v1 or v2 case 14 v1=(v and &H3FFF&) * &H4& v2=v \ &H4000& ROR=v1 or v2 case 15 v1=(v and &H7FFF&) * &H2& v2=v \ &H8000& ROR=v1 or v2 end select end function
Private Sub Command1_Click()
Dim a As Integer, n As Integer
Dim b As Integer, c As Integer
Dim i As Integer
a = 3: n = 15
For i = 1 To n
b = a \ 2
c = (a Mod 2) * (2 ^ 14)
a = c + b
Debug.Print a
Next
End Sub
dim v1 as long
dim v2 as long
do
if n<0 then n=n+16 else exit do
loop
n=n mod 16
select n
case 0
ROR=v
case 1
v1=(v and &H1&) * &H8000&
v2=v \ &H2&
ROR=v1 or v2
case 2
v1=(v and &H3&) * &H4000&
v2=v \ &H4&
ROR=v1 or v2
case 3
v1=(v and &H7&) * &H2000&
v2=v \ &H8&
ROR=v1 or v2
case 4
v1=(v and &HF&) * &H1000&
v2=v \ &H10&
ROR=v1 or v2
case 5
v1=(v and &H1F&) * &H800&
v2=v \ &H20&
ROR=v1 or v2
case 6
v1=(v and &H3F&) * &H400&
v2=v \ &H40&
ROR=v1 or v2
case 7
v1=(v and &H7F&) * &H200&
v2=v \ &H80&
ROR=v1 or v2
case 8
v1=(v and &HFF&) * &H100&
v2=v \ &H100&
ROR=v1 or v2
case 9
v1=(v and &H1FF&) * &H80&
v2=v \ &H200&
ROR=v1 or v2
case 10
v1=(v and &H3FF&) * &H40&
v2=v \ &H400&
ROR=v1 or v2
case 11
v1=(v and &H7FF&) * &H20&
v2=v \ &H800&
ROR=v1 or v2
case 12
v1=(v and &HFFF&) * &H10&
v2=v \ &H1000&
ROR=v1 or v2
case 13
v1=(v and &H1FFF&) * &H8&
v2=v \ &H2000&
ROR=v1 or v2
case 14
v1=(v and &H3FFF&) * &H4&
v2=v \ &H4000&
ROR=v1 or v2
case 15
v1=(v and &H7FFF&) * &H2&
v2=v \ &H8000&
ROR=v1 or v2
end select
end function