中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 11:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » random的取值问题 查看 1,062 回复 12
楼 主 random的取值问题 发表于 2008-04-29 18:49 ·  中国 江西 吉安 电信
初级用户
积分 97
发帖 34
注册 2007-11-16 16:04
18年会员
UID 102852
性别 男
状态 离线
@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 ]
2 发表于 2008-04-29 19:23 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
这样试试

@echo off
:lp
set /a he=%random%%%149
echo %he%
pause &goto :lp
3 发表于 2008-04-29 19:46 ·  中国 湖南 娄底 电信
新手上路
积分 3
发帖 2
注册 2008-04-29 18:10
18年会员
UID 117297
性别 男
状态 离线
还有个问题就是:%random%%%149+100
这是取100至248之间的数。
第一个问题不存在,你多试几次就知道了。
4 发表于 2008-04-29 20:13 ·  中国 江西 吉安 电信
初级用户
积分 97
发帖 34
注册 2007-11-16 16:04
18年会员
UID 102852
性别 男
状态 离线
谢谢,目的是达到了.但是奇怪的是,为什么不循环调用,只是一次一次的打开,他的初始值会递增呢?还请帮忙解答下
5 发表于 2008-04-29 21:06 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
这是个让我好奇的现象,正在思考。。。
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
6 发表于 2008-04-29 23:01 ·  中国 湖北 武汉 电信
初级用户
积分 97
发帖 33
注册 2007-03-05 06:13
19年会员
UID 80815
性别 男
状态 离线
那如果想取149到50之间的呢?
7 发表于 2008-04-29 23:30 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
Originally posted by jy02141405 at 2008-4-29 20:13:
谢谢,目的是达到了.但是奇怪的是,为什么不循环调用,只是一次一次的打开,他的初始值会递增呢?还请帮忙解答下

我做了一下试验,发现是和时间有关系的,在我的机子上大概是一秒钟递增三个数
8 发表于 2008-04-30 12:01 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
转,来自搜索:

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

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

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

进入网盘(各种工具)~~ 空间~~cmd学习
9 发表于 2008-04-30 13:56 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
可以用set /a he=(%random%+%random%)/2%%49+100获得100-148更为“随机”的数
10 发表于 2008-04-30 20:03 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
如果愿意...直接从数学书后面把随机数表抄下来用..
11 发表于 2008-05-01 21:57 ·  中国 江西 吉安 电信
初级用户
积分 97
发帖 34
注册 2007-11-16 16:04
18年会员
UID 102852
性别 男
状态 离线
学习,谢谢大家的帮忙
12 发表于 2008-05-02 17:03 ·  中国 江西 吉安 电信
新手上路
积分 4
发帖 2
注册 2008-04-27 01:25
18年会员
UID 117064
性别 男
状态 离线
/a是什么意思啊?
13 发表于 2008-05-02 18:36 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
set /?
论坛跳转: