日期:2009-12-19 浏览次数:21079 次
- <%
- Private Const BITS_TO_A_BYTE = 8
- Private Const BYTES_TO_A_WORD = 4
- Private Const BITS_TO_A_WORD = 32
- Private m_lOnBits(30)
- Private m_l2Power(30)
- Private Function LShift(lValue, iShiftBits)
- If iShiftBits = 0 Then
- LShift = lValue
- Exit Function
- ElseIf iShiftBits = 31 Then
- If lValue And 1 Then
- LShift = &H80000000
- Else
- LShift = 0
- End If
- Exit Function
- ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
- Err.Raise 6
- End If
- If (lValue And m_l2Power(31 - iShiftBits)) Then
- LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
- Else
- LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
- End If
- End Function
- Private Function RShift(lValue, iShiftBits)
- If iShiftBits&nbs