亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? comp_arithmetic_dmc.bas

?? 20多種VB軟件的加密與壓縮模塊
?? BAS
字號:
Attribute VB_Name = "Comp_Arithmetic_DMC"


Option Explicit

'This is a 1 run method

Private OutStream() As Byte
Private OutPos As Long
Private OutBitCount As Integer
Private OutByteBuf As Byte
Private Const MaxBits = 24  'at 16 bits precision is not high enough
Private BitsetPreset(255, 7) As Integer
Private IndexPreSet(255, 7) As Integer

Public Sub Compress_ArithMetic_DMC(ByteArray() As Byte)
    Dim InpPos As Long
    Dim LowValue As Long
    Dim HighValue As Long
    Dim RangValue As Long
    Dim MidValue As Long
    Dim Char As Byte
    Dim X As Integer
    Dim Y As Integer
    Dim Bitset As Integer
    Dim Index As Integer
    Dim TopBit As Long
    Dim One(256) As Long
    Dim Zero(256) As Long
    Call Init_Ari_Bit2
    LowValue = 0
    HighValue = (2 ^ MaxBits) - 1
    TopBit = 2 ^ (MaxBits - 1)
    InpPos = 0
    Index = -1
    For X = 0 To 256
        One(X) = 1
        Zero(X) = 1
    Next
    For Y = 0 To 255
        For X = 0 To 7
            BitsetPreset(Y, X) = (Y And (2 ^ (7 - X))) And &HFF
            IndexPreSet(Y, X) = (1 * (2 ^ X)) - 1 + Int(Y / (2 ^ (8 - X)))
        Next
    Next
    Do
        If InpPos > UBound(ByteArray) Then
            Exit Do
        Else
            Char = ByteArray(InpPos)
            InpPos = InpPos + 1
        End If
        For X = 0 To 7
            Bitset = BitsetPreset(Char, X)
            Index = IndexPreSet(Char, X)
'            Bitset = (Char And (2 ^ (7 - X))) And &HFF
'            Index = (1 * (2 ^ X)) - 1 + Int(Char / (2 ^ (8 - X)))
            RangValue = HighValue - LowValue
            MidValue = LowValue + (RangValue * (Zero(Index) / (One(Index) + Zero(Index))))
            If MidValue = LowValue Then MidValue = MidValue + 1
            If MidValue = HighValue - 1 Then MidValue = MidValue - 1
            If Bitset > 0 Then
                LowValue = MidValue
                One(Index) = One(Index) + 1
            Else
                HighValue = MidValue
                Zero(Index) = Zero(Index) + 1
            End If
            If AritmaticRescale = True Then
                If One(Index) > 127 Or Zero(Index) > 127 Then
                    One(Index) = Int(One(Index) / 2) + 1
                    Zero(Index) = Int(Zero(Index) / 2) + 1
                End If
            End If
            Do While (HighValue And TopBit) = (LowValue And TopBit) Or LowValue > HighValue - 255
                If (LowValue And TopBit) = 0 Then
                    Call AddBitsToOutStream(0, 1)
                Else
                    Call AddBitsToOutStream(1, 1)
                End If
                HighValue = (HighValue And (TopBit - 1)) * 2 + 1
                LowValue = (LowValue And (TopBit - 1)) * 2
                If LowValue >= HighValue Then HighValue = (2 ^ MaxBits) - 1
            Loop
        Next
    Loop
    For X = MaxBits - 1 To 0 Step -1
        If (LowValue And 2 ^ X) = 0 Then
            Call AddBitsToOutStream(0, 1)
        Else
            Call AddBitsToOutStream(1, 1)
        End If
    Next
    Do While OutBitCount > 0
        Call AddBitsToOutStream(1, 1)
    Loop
    ReDim ByteArray(OutPos - 1)
    Call CopyMem(ByteArray(0), OutStream(0), OutPos)
End Sub

Public Sub DeCompress_ArithMetic_DMC(ByteArray() As Byte)
    Dim InpPos As Long
    Dim InBitPos As Integer
    Dim LowValue As Long
    Dim HighValue As Long
    Dim RangValue As Long
    Dim MidValue As Long
    Dim Value As Long
    Dim Char As Byte
    Dim X As Integer
    Dim Index As Integer
    Dim EOF_State As Boolean
    Dim TopBit As Long
    Dim One(256) As Long
    Dim Zero(256) As Long
    Call Init_Ari_Bit2
    LowValue = 0
    HighValue = (2 ^ MaxBits) - 1
    TopBit = 2 ^ (MaxBits - 1)
    InpPos = 0
    Value = ReadBitsFromArray(ByteArray, InpPos, InBitPos, MaxBits)
    Index = -1
    For X = 0 To 256
        One(X) = 1
        Zero(X) = 1
    Next
    Do
        Char = 0
        For X = 0 To 7
            Index = (1 * (2 ^ X)) - 1 + Char
            RangValue = HighValue - LowValue
            MidValue = LowValue + (RangValue * (Zero(Index) / (One(Index) + Zero(Index))))
            If MidValue = LowValue Then MidValue = MidValue + 1
            If MidValue = HighValue - 1 Then MidValue = MidValue - 1
            If Value >= MidValue Then
                Char = Char + Char + 1
                LowValue = MidValue
                One(Index) = One(Index) + 1
            Else
                Char = Char + Char
                HighValue = MidValue
                Zero(Index) = Zero(Index) + 1
            End If
            If AritmaticRescale = True Then
                If One(Index) > 127 Or Zero(Index) > 127 Then
                    One(Index) = Int(One(Index) / 2) + 1
                    Zero(Index) = Int(Zero(Index) / 2) + 1
                End If
            End If
            Do While (HighValue And TopBit) = (LowValue And TopBit) Or LowValue > HighValue - 255
                If (LowValue And TopBit) = 1 Then
                    Char = Char
                End If
                If InpPos <= UBound(ByteArray) Then
                    Value = (Value And (TopBit - 1)) * 2 + ReadBitsFromArray(ByteArray, InpPos, InBitPos, 1)
                    HighValue = (HighValue And (TopBit - 1)) * 2 + 1
                    LowValue = (LowValue And (TopBit - 1)) * 2
                    If LowValue >= HighValue Then HighValue = (2 ^ MaxBits) - 1
                Else
                    EOF_State = True
                    Exit Do
                End If
            Loop
            If EOF_State = True Then Exit Do
        Next
        Call AddCharToArray(OutStream, OutPos, Char)
    Loop
    ReDim ByteArray(OutPos - 1)
    Call CopyMem(ByteArray(0), OutStream(0), OutPos)
End Sub

Private Sub Init_Ari_Bit2()
    Dim X As Integer
    ReDim OutStream(500)
    OutPos = 0
    OutBitCount = 0
    OutByteBuf = 0
End Sub

Private Sub AddBitsToOutStream(Number As Long, Numbits As Integer)
    Dim X As Long
    For X = Numbits - 1 To 0 Step -1
        OutByteBuf = OutByteBuf * 2 + (-1 * ((Number And CDbl(2 ^ X)) > 0))
        OutBitCount = OutBitCount + 1
        If OutBitCount = 8 Then
            OutStream(OutPos) = OutByteBuf
            OutBitCount = 0
            OutByteBuf = 0
            OutPos = OutPos + 1
            If OutPos > UBound(OutStream) Then
                ReDim Preserve OutStream(OutPos + 500)
            End If
        End If
    Next
End Sub

'this function will return a value out of the amaunt of bits you asked for
Private Function ReadBitsFromArray(FromArray() As Byte, FromPos As Long, FromBit As Integer, Numbits As Integer) As Long
    Dim X As Integer
    Dim Temp As Long
    For X = 1 To Numbits
        Temp = Temp * 2 + (-1 * ((FromArray(FromPos) And 2 ^ (7 - FromBit)) > 0))
        FromBit = FromBit + 1
        If FromBit = 8 Then
            If FromPos + 1 > UBound(FromArray) Then
                Do While X < Numbits
                    Temp = Temp * 2
                    X = X + 1
                Loop
                FromPos = FromPos + 1
                Exit For
            End If
            FromPos = FromPos + 1
            FromBit = 0
        End If
    Next
    ReadBitsFromArray = Temp
End Function

'this sub will add a char into the outputstream
Private Sub AddCharToArray(Toarray() As Byte, ToPos As Long, Char As Byte)
    If ToPos > UBound(Toarray) Then ReDim Preserve Toarray(ToPos + 500)
    Toarray(ToPos) = Char
    ToPos = ToPos + 1
End Sub


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级日韩不卡播放免费| 中文字幕国产精品一区二区| 亚洲精品在线观| 国产精品久久久久影院亚瑟| 日本不卡一区二区| 国产成人av电影在线播放| 在线观看日韩av先锋影音电影院| 精品精品国产高清a毛片牛牛| av亚洲精华国产精华精华| 91精品国产一区二区三区香蕉| 色吧成人激情小说| 久久久综合视频| 日韩av网站在线观看| 色婷婷综合久久久中文字幕| 精品福利一区二区三区| 午夜精品久久久久久久| 91在线精品一区二区三区| 精品第一国产综合精品aⅴ| 亚洲超碰精品一区二区| 一本色道久久综合亚洲aⅴ蜜桃| 色综合久久88色综合天天6 | www欧美成人18+| 亚洲激情综合网| 97精品久久久午夜一区二区三区| av在线不卡观看免费观看| 久久亚洲综合av| 免费成人av在线| 欧美一区日韩一区| 日韩av一级片| 555www色欧美视频| 日韩一区精品字幕| 91精品国产色综合久久不卡蜜臀| 日韩午夜av电影| 久久国产麻豆精品| 色天天综合久久久久综合片| 国产精品不卡一区二区三区| 99久久99久久综合| 亚洲免费毛片网站| 在线免费一区三区| 丝袜亚洲另类丝袜在线| 911精品国产一区二区在线| 视频一区国产视频| 精品免费日韩av| 国内精品写真在线观看| 国产日韩在线不卡| av色综合久久天堂av综合| 亚洲欧美在线aaa| 一本到三区不卡视频| 亚洲午夜羞羞片| 56国语精品自产拍在线观看| 六月婷婷色综合| 久久精品夜色噜噜亚洲a∨| 丰满亚洲少妇av| 亚洲乱码一区二区三区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产成人一级电影| 亚洲欧洲日韩女同| 欧美三级电影精品| 国内精品伊人久久久久av影院 | 亚洲日本成人在线观看| 91成人免费在线视频| 午夜精品123| 久久男人中文字幕资源站| av成人动漫在线观看| 五月婷婷激情综合网| 日韩三级伦理片妻子的秘密按摩| 亚洲免费视频中文字幕| 欧美一区二区三区免费大片| 国产精品综合久久| 亚洲精品国产成人久久av盗摄| 国产久卡久卡久卡久卡视频精品| 91麻豆精品国产91久久久更新时间 | 色婷婷激情一区二区三区| 亚洲第一狼人社区| 久久精品日韩一区二区三区| 91一区二区三区在线播放| 亚洲第一精品在线| 国产精品久久三区| 91麻豆精品国产无毒不卡在线观看| 亚洲最新视频在线观看| 日韩欧美亚洲一区二区| 99久久精品国产导航| 久久精品国内一区二区三区| 亚洲女子a中天字幕| 欧美大片一区二区三区| 91官网在线观看| 懂色av噜噜一区二区三区av| 三级成人在线视频| 亚洲另类在线制服丝袜| 精品国产网站在线观看| 欧美精品乱码久久久久久| 99视频有精品| 久久99九九99精品| 亚洲成人av一区二区| 国产精品女人毛片| 久久久久久久久久久99999| 欧美一区二区三区爱爱| 色综合色综合色综合色综合色综合 | 欧美精品在线视频| 色综合久久66| 成人午夜激情视频| 国产曰批免费观看久久久| 亚洲成人先锋电影| 精品一区二区日韩| 老汉av免费一区二区三区| 亚洲一区在线电影| 亚洲精品日韩综合观看成人91| 99亚偷拍自图区亚洲| 国产91精品露脸国语对白| 韩国午夜理伦三级不卡影院| 亚洲一区二区成人在线观看| 亚洲视频一区二区在线观看| 欧美国产日韩在线观看| 国产网红主播福利一区二区| 精品伦理精品一区| 日韩精品一区二区三区四区| 欧美一区二区性放荡片| 3d动漫精品啪啪一区二区竹菊| 极品少妇xxxx偷拍精品少妇| 日本少妇一区二区| 捆绑紧缚一区二区三区视频| 久久国产尿小便嘘嘘| 精品在线播放免费| 国产成人在线看| 成人18视频在线播放| 成人性生交大片免费看中文| 成人小视频在线| 99久久精品国产精品久久| 91福利精品视频| 欧美日韩久久一区| 欧美疯狂做受xxxx富婆| 日韩女优电影在线观看| 精品久久久久久无| 欧美va在线播放| 国产精品欧美极品| 亚洲精品日日夜夜| 天天色综合天天| 国产专区综合网| av亚洲精华国产精华| 欧美性xxxxx极品少妇| 亚洲精品v日韩精品| 精品国产乱子伦一区| 欧美一区二区三区思思人| 日韩免费高清视频| 国产欧美精品一区aⅴ影院| 国产精品久久久久久久久免费相片 | 日本欧美一区二区三区乱码| 美日韩一级片在线观看| 国产成人免费视频网站| 91久久一区二区| 日韩视频一区二区三区| 国产精品成人在线观看| 午夜免费欧美电影| 国产91精品欧美| 欧美另类z0zxhd电影| 国产人伦精品一区二区| 亚洲国产精品一区二区www在线| 国产日本欧洲亚洲| 亚洲一级电影视频| 国产在线一区二区综合免费视频| 日本伊人精品一区二区三区观看方式| 国产欧美日韩精品一区| 亚洲一区在线免费观看| 国产成人av网站| 这里只有精品电影| 国产免费成人在线视频| 午夜成人免费视频| 国产成人午夜99999| 在线不卡a资源高清| 中文字幕在线观看不卡| 美腿丝袜亚洲一区| 欧美日韩国产天堂| 中文字幕第一页久久| 免费在线视频一区| 欧美色图一区二区三区| 久久久夜色精品亚洲| 视频一区二区三区入口| 91啪九色porn原创视频在线观看| 91丨九色丨黑人外教| 精品国产91久久久久久久妲己| 91精品国产91综合久久蜜臀| 亚洲欧美一区二区三区国产精品| 国产婷婷色一区二区三区在线| 精品99久久久久久| 亚洲国产精品一区二区www在线| 亚洲精品伦理在线| 成人精品视频一区二区三区| 精品国产伦一区二区三区观看方式 | 欧美国产日产图区| 麻豆国产欧美日韩综合精品二区 | 亚洲精品综合在线| 不卡av在线免费观看| 久久久久久久综合色一本| 日本午夜精品一区二区三区电影| 轻轻草成人在线| 在线播放一区二区三区| 亚洲观看高清完整版在线观看| 亚洲成人黄色影院| 欧美三级三级三级| 亚洲高清免费观看高清完整版在线观看|