486486 发表于 2017-1-17 10:12:55

hex进制转换因版本不同结果不同怎么办 [己解决]

本帖最后由 486486 于 2017-1-17 16:08 编辑

相同的脚本 在新旧版本 16进制结果不一样 为什么呢是我的设置上有什么问题吗旧版本2.29新版本 3.1和 AutoIt_v3.3.14.2_Setup(4) 小白求教



脚本如下:
$sVolume = "d:\" ;读
$iResult = DllCall("Kernel32.dll", "int", "GetVolumeInformation", "str", $sVolume, _
                "str", "", "int", 256, "dword*", 0, "dword*", 0, "dword*", 0, "str", "", "int", 256)

Msgbox(0, $sVolume, "Drive Label: " & $iResult & @LF & _
            "fzx 10:" &($iResult) & @LF & _;为10进制 未加HEX为10进制加HEX为16进制
               "fzx 16:" &Hex($iResult) & @LF & _;为16进制 未加HEX为10进制加HEX为16进制
            "Max-Component Length: " & $iResult & @LF & _
            "File System: " & $iResult)

486486 发表于 2017-1-17 16:06:45

哦看来还是用老版 不就结了但愿不影响其他 已经换成DEC转换了

tubaba 发表于 2017-1-18 09:44:06

Hex
返回整数的字符串表达式, 或者二进制表达式的十六进制值.


Hex ( expression [, length] )


参数
expression 待转换的表达式.
length [可选] 要返回的整数字符数.
若指定的长度过小, 则位数将从左边开始截断.
如果是二进制数据, 则忽略此参数.

返回值
成功: 返回长度(不大于 16)的字符串, 如有必要, 用 0 补齐整数. 返回转换的二进制类型.
专用: 如果长度小于 1, 则返回 ""(空字符串).

备注
省略第二个参数, 或使用 Default 关键字, 则自动调整输出结果的大小;
指针类型参数, 默认显示指针的大小(x86 为 8 字符, x64 为 16 字符)
64 位整数默认显示 16 个字符.
传递非整数(小数点分隔符或指数)作 doubles 处理


相关

你上面列出来的HEX值是一样的,
页: [1]
查看完整版本: hex进制转换因版本不同结果不同怎么办 [己解决]