找回密码
 加入
搜索
楼主: fuldho

[AU3基础] au3怎样把2进制转换成16进制(已解决)

 火.. [复制链接]
 楼主| 发表于 2016-2-26 12:45:11 | 显示全部楼层
回复 15# afan

呵呵
所以才来求助
发表于 2016-2-26 13:55:03 | 显示全部楼层
回帖收藏了,不错
发表于 2016-2-26 14:41:49 | 显示全部楼层
mark一下,以后备用
发表于 2016-2-26 16:13:14 | 显示全部楼层
Afan的代码挺绕,上个简单的。
Dim $str = "111"
Dim $str1 = "111111111111111111111"
MsgBox(0, "2进制转16进制", BIN_to_HEX($str) & @CRLF & BIN_to_HEX($str1))

Func BIN_to_HEX($Bin)
        Local $i, $Hex
        If Mod(StringLen($Bin), 4) <> 0 Then
                For $i = 1 To 4 - Mod(StringLen($Bin), 4)
                        $Bin = "0" & String($Bin)
                Next
        EndIf
        For $i = 1 To StringLen($Bin) Step 4
                Switch StringMid($Bin, $i, 4)
                        Case "0000"
                                $Hex &= "0"
                        Case "0001"
                                $Hex &= "1"
                        Case "0010"
                                $Hex &= "2"
                        Case "0011"
                                $Hex &= "3"
                        Case "0100"
                                $Hex &= "4"
                        Case "0101"
                                $Hex &= "5"
                        Case "0110"
                                $Hex &= "6"
                        Case "0111"
                                $Hex &= "7"
                        Case "1000"
                                $Hex &= "8"
                        Case "1001"
                                $Hex &= "9"
                        Case "1010"
                                $Hex &= "A"
                        Case "1011"
                                $Hex &= "B"
                        Case "1100"
                                $Hex &= "C"
                        Case "1101"
                                $Hex &= "D"
                        Case "1110"
                                $Hex &= "E"
                        Case "1111"
                                $Hex &= "F"
                EndSwitch
        Next
        $Hex = StringRegExpReplace($Hex, "^0*", "")
        Return $Hex
EndFunc   ;==>BIN_to_HEX
发表于 2016-2-27 10:21:30 | 显示全部楼层
回复 13# afan


    不记得了,好久没玩了...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 03:28 , Processed in 0.065866 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表