dalesiu 发表于 2009-4-7 17:09:28

十进制与二进制可否互转换

AUTOIT 是否可以将 十进制数 与 二进制数进行相互转换?

dalesiu 发表于 2009-4-7 18:16:30

等待中

若100% 不行, 请大侠支个声, 免得小弟在傻等...

pusofalse 发表于 2009-4-7 19:34:35

完全可以。。

ceoguang 发表于 2009-4-7 19:35:45

好像没有十进制和二进制互转的函数.只有一个Binary
不过是可以实现的

sensel 发表于 2009-4-7 22:05:39

在au3里,二进制数是用十六进制来表示的。不过可以利用自编UDF来转换。

;===============================================================================
; 说明:   十进制转换为二进制
; 语法:   _DecToBinary($sDecStr[, $iLength = 0])
; 参数:   $sDecStr - 需要转换的十进制字符
;         $iLength - [可选] 返回长度
; 需要:   无
; 返回:   成功 - 二进制字符
;         失败 - 空字符 "", 并设置 @error 到 1
; 备注:   限制: 1125899906842622d / 3fffffffffffeh
;===============================================================================
Func _DecToBinary($sDecStr, $iLength = 0)
        Local $sBinStr = ""
        If NOT StringRegExp($sDecStr, "^\d+$") Then Return SetError(1, 0, "")

        If $sDecStr > 1125899906842622 Then Return SetError(1, 0, "")
        While $sDecStr > 0
                $sBinStr = Mod($sDecStr, 2) & $sBinStr
                $sDecStr = Int($sDecStr / 2)
        WEnd

        While StringLen($sBinStr) < $iLength
                $sBinStr = "0" & $sBinStr
        WEnd

        Return $sBinStr
EndFunc   ;==>_DecToBinary

;===============================================================================
; 说明:   二进制转换为十进制
; 语法:   _BinaryToDec($sBinStr)
; 参数:   $sBinStr - 需要转换的二进制字符
; 需要:   无
; 返回:   成功 - 十进制整数
;         失败 - 空字符 "", 并设置 @error 到 1
; 备注:   限制: 9223372036854775807d / 7fffffffffffffffh / {1,63}b
;         注意: 输入超过 999999999999999d / 38d7ea4c67fffh 将输出指数形式
;===============================================================================
Func _BinaryToDec($sBinStr)
        Local $sDecStr = 0
        If NOT StringRegExp($sBinStr, "^{1,63}$") Then Return SetError(1, 0, "")

        For $i = 1 To StringLen($sBinStr)
                $sDecStr = $sDecStr * 2 + StringMid($sBinStr, $i, 1)
        Next

        Return $sDecStr
EndFunc   ;==>_BinaryToDec

akmm88 发表于 2009-4-7 22:27:00

学编程 布尔代数 是必修课
页: [1]
查看完整版本: 十进制与二进制可否互转换