中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: random的取值问题 上一主题 | 下一主题
jy02141405
初级用户





积分 97
发帖 34
注册 2007-11-16
状态 离线
『楼 主』:  random的取值问题

@echo off
set /a he=%random%%%149
echo %he%
pause
我想取148之内的随即数,但是发现取的值是递增的,比如第一次是3,第2次是7,第3次是12这样.我想要的效果是第一次可能是100,第2次是3这样.真正的随即抽取.
还请高手指点
还有个问题就是:%random%%%149+100
                     因该是取100-148之间的随即数.但是我一直点下去,他可以点到200以上,实在不解,难道是什么地方写错了吗

[ Last edited by jy02141405 on 2008-4-29 at 06:59 PM ]

2008-4-29 18:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  

这样试试
@echo off
:lp
set /a he=%random%%%149
echo %he%
pause &goto :lp


2008-4-29 19:23
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
cmdbat
新手上路





积分 3
发帖 2
注册 2008-4-29
状态 离线
『第 3 楼』:  

还有个问题就是:%random%%%149+100
这是取100至248之间的数。
第一个问题不存在,你多试几次就知道了。

2008-4-29 19:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jy02141405
初级用户





积分 97
发帖 34
注册 2007-11-16
状态 离线
『第 4 楼』:  

谢谢,目的是达到了.但是奇怪的是,为什么不循环调用,只是一次一次的打开,他的初始值会递增呢?还请帮忙解答下

2008-4-29 20:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 5 楼』:  

这是个让我好奇的现象,正在思考。。。



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-29 21:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qdloverr
初级用户





积分 97
发帖 33
注册 2007-3-5
状态 离线
『第 6 楼』:  

那如果想取149到50之间的呢?

2008-4-29 23:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by jy02141405 at 2008-4-29 20:13:
谢谢,目的是达到了.但是奇怪的是,为什么不循环调用,只是一次一次的打开,他的初始值会递增呢?还请帮忙解答下

我做了一下试验,发现是和时间有关系的,在我的机子上大概是一秒钟递增三个数

2008-4-29 23:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 8 楼』:  

转,来自搜索:

  Quote:
计算机做不到真正的随机,所有的计算机随机都是“伪随机”,算法不同而已,绝大部分都是用时间作随机种子



  Quote:
(1)单次操作完毕后,单片机的计数器一直不停地计数,在外界对它进行再次操作或者要发送数据时停止计数。因为外界的操作或发送的时间是不定的,所以计数寄存器里面的数是随机的。

(2)可以对按键或操作时间进行计时。用户每次按键或操作的时间都是不定的,并且按键从抖动到稳定的时间也是不定的,对它进行计时,如果把间隔的时间取得合适,即可得到近似随机数。





山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-30 12:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 9 楼』:  

可以用set /a he=(%random%+%random%)/2%%49+100获得100-148更为“随机”的数



2008-4-30 13:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 10 楼』:  

如果愿意...直接从数学书后面把随机数表抄下来用..

2008-4-30 20:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jy02141405
初级用户





积分 97
发帖 34
注册 2007-11-16
状态 离线
『第 11 楼』:  

学习,谢谢大家的帮忙

2008-5-1 21:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
263392934
新手上路





积分 4
发帖 2
注册 2008-4-27
状态 离线
『第 12 楼』:  

/a是什么意思啊?

2008-5-2 17:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:  

set /?

2008-5-2 18:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: