找回密码
 加入
搜索
查看: 2991|回复: 7

[AU3基础] 【已解决】C语言转AU3,AU3效验PIN最后一位

  [复制链接]
发表于 2012-4-7 23:40:41 | 显示全部楼层 |阅读模式
本帖最后由 user11 于 2012-4-9 23:02 编辑

PIN码第八位校验值的计算方法【int】
源码是C,AU3不熟悉,无符号的整型是?AU3输出 和 C 不一样, 。
Int main()
{
unsigned Int wps_pin_checksum(unsigned Int pin);
Int Pin=1234567;
printf("Checknum:%d\n",wps_pin_checksum(pin));
Return 0;
}
unsigned int wps_pin_checksum(unsigned int pin)
{
unsigned int accum = 0;
while (pin)
{
accum += 3 * (pin % 10);
pin /= 10;
accum += pin % 10;
pin /= 10;
}

return (10 – accum % 10) % 10;
}
Dim $pin, $accum=0

$pin=Int("1234567")

While $pin
$accum+=3*Mod($pin,10)
$pin/=10
$accum+=Mod($pin,10)
$pin/=10
WEnd

$result=Mod(10-Mod($accum,10),10)

MsgBox(0,"",Int($result))
发表于 2012-4-8 00:29:25 | 显示全部楼层
回复 1# user11

au3 变量可以说不分类型.
要用无符号整型, 直接赋值 正整数, 然后在运算过程中要自己加相应 判断 了!
发表于 2012-4-8 00:33:34 | 显示全部楼层
回复 1# user11

才8位,就不用纠结于无符号整形数了,这里有无符号计算结果都是一样的。

若你真想要搞无符号整数,可用定义个结构来做,象:DllStructCreate("UINT")
发表于 2012-4-8 01:20:23 | 显示全部楼层
本帖最后由 Ycxw2008 于 2012-4-8 01:22 编辑

楼主用的哪个编译器来编译c的 能编译Int
 楼主| 发表于 2012-4-8 10:42:42 | 显示全部楼层
回复 3# happytc


  是不是 我的AU3写的有错误,实际算出来和C 结果不一样的。
发表于 2012-4-8 12:33:45 | 显示全部楼层
本帖最后由 Ycxw2008 于 2012-4-8 12:40 编辑

回复 5# user11

发错
 楼主| 发表于 2012-4-8 12:42:03 | 显示全部楼层
本帖最后由 user11 于 2012-4-8 12:47 编辑

回复 6# Ycxw2008

AU3可以直接用+=吗??  AU3我只是换了一个写法。 看了一下帮助。。原来可以。。。。我错了!
发表于 2012-4-8 12:48:42 | 显示全部楼层
回复 7# user11


    au3 有+= 不过好像不是这个问题
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-19 08:38 , Processed in 0.074575 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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