itljl 发表于 2010-9-2 13:24:52

这个16制加法的思路错在哪里?

因为结果是错的,所以肯定错了。请教各位大侠,错在哪里?
;定义两个16进制
$var_hex_1 = 123
$var_hex_2 = 123

;转成10进制
$Var_1 = Dec ($var_hex_1)
$Var_2 = Dec ($var_hex_2)

;相加
$var = $Var_1+ $Var_2

;转成二进制
$bin = Binary ($var)

;转成16进制
$hex = Hex ($bin)

目的是想做
$var_hex_1 = 123
$var_hex_2 = 123
这两个16进制数的加法。

rolaka 发表于 2010-9-2 13:29:27

0x123...123表示的是10进制

itljl 发表于 2010-9-2 13:31:08

回复 2# rolaka


    谢谢,加了还是不正确的。

C.L 发表于 2010-9-2 13:45:27

回复 3# itljl
不必转换,直接相加,但输出显示的时候要转一下

$var_hex_1 = 0x123
$var_hex_2 = 0x123
$var = $var_hex_1 + $var_hex_2
$hex = Hex ($var,3)

MsgBox (0,'0x'&Hex($var_hex_1,3)&'+'&'0x'&Hex($var_hex_2,3),'10进制:'&$var &@CRLF &'16进制:0x'&$hex)

rolaka 发表于 2010-9-2 13:45:48

回复rolaka


    谢谢,加了还是不正确的。
itljl 发表于 2010-9-2 13:31 http://www.autoitx.com/images/common/back.gif
............................

$hex1 = 0x123
MsgBox(0, '', Hex($hex1+$hex1, 3))

Ziya 发表于 2010-9-2 13:49:55

为什么要转为二进制?
应该是这个过程出现的问题....
具体的我就不清楚了=.=
页: [1]
查看完整版本: 这个16制加法的思路错在哪里?