lsq726 发表于 2010-8-29 08:39:10

SRandom种子数是干什么的?[已解决]

本帖最后由 lsq726 于 2010-8-30 02:11 编辑

帮助里的说明没看明白。。。不懂得是起什么作用的。

顺便问问,&= 是 干什么的?见a版用过这个。。
==========
谢谢了每个答复都很精彩。谢谢

水木子 发表于 2010-8-29 09:01:52

本帖最后由 水木子 于 2010-8-29 09:04 编辑

'&=' 是连续赋值的意思!

如:Local $a = 'A', $b = 'B'
$a = $a & $b
MsgBox(0, '$a 的值', $a)如使用 '&=' 连续赋值Local $a = 'A', $b = 'B'
$a &= $b
MsgBox(0, '$a 的值', $a)简单的理解,就是在变量原来值的基础上继续追加值。

netegg 发表于 2010-8-29 09:12:47

本帖最后由 netegg 于 2010-8-29 09:16 编辑

$a &= $b 与 $a = $a & $b 效果相同, 换个角度想
$a += $b 与 $a = $a + $b 效果相同,不过'+='用于数值计算'&='用于字符串连接

rolaka 发表于 2010-8-29 15:20:36

本帖最后由 rolaka 于 2010-8-29 15:22 编辑

计算机生成的所有的随机数 都是 伪随机数...

只要种子数固定 得出的伪随机数就是固定的...

形象点说就是 "种瓜得瓜 种豆得豆子"
SRandom(12)
种子设定成12 Random出来的随机数永远就是一个定值

pusofalse 发表于 2010-8-29 15:33:49

$a += 1 与$a = $a + 1等效,但+=效率更高,&=、*=、/=、^=、-=同是。

随机种子是用来产生随机数的。
如果不用SRandom设定种子数,Random会使用当前系统运行过的毫秒数(?)作为随机种子。

Random就是通过对种子数进行一系列复杂的运算计算出随机数的。
这一系列复杂的运算,你可以理解为“计算种子数的k次方,将结果的第n-m位作为下一次迭代的种子,重复计算k次之后,取当前鼠标的xy坐标,将x减去y,取其绝对值z,将运算结果的k到z位作为返回值,并将此返回值作为下一次计算随机数的种子”。
SRandom(7)
For $i = 1 to 5
   MsgBox(0, "", Random(1, 1000, 1))
Next运行多次看看,得到的结果始终一样,因为Random对常量种子进行了相同的运算,真正意义上的伪随机。

itljl 发表于 2010-8-29 16:16:12

$a += 1 与$a = $a + 1等效,但+=效率更高,&=、*=、/=、^=、-=同是。

随机种子是用来产生随机数的。
如 ...
pusofalse 发表于 2010-8-29 15:33 http://www.autoitx.com/images/common/back.gif

学习了,非常厉害

stabyou 发表于 2013-4-17 10:24:29

可否应用为抽奖的时候指定中奖
页: [1]
查看完整版本: SRandom种子数是干什么的?[已解决]