批处理set /a xx=%random%%%17的意思 效果是设置XX为0-16中随即的一个 我想知道具体原理,复制的也欢迎

[复制链接]
查看11 | 回复4 | 2011-2-1 21:44:29 | 显示全部楼层 |阅读模式
set /a xx=%random%%%17就是%random%随机变量对17求余运算,把余数赋值给变量xx。%random%为随机变量。%为求余运算符,因为批处理中两个%%才当一个%,所以为%%。17当然就是除数。所以上面的运算表达式运算的结果当然就是:赋值0-16的随机数给变量xx了。...
回复

使用道具 举报

千问 | 2011-2-1 21:44:29 | 显示全部楼层
%random%%%a 在批处理里,%random%是系统变量,会被扩展到0和32767之间的任意十进制数字,%%是求余,在批处理中多一个%在[min,max]间的随机数公式:%random%%%a+min,a = max-min+1;那么[0,16]间的随机数是:%random%%%(16-0+1)+0 即%random%%%17如在[10...
回复

使用道具 举报

千问 | 2011-2-1 21:44:29 | 显示全部楼层
随机数0~32767除以17的余数当然就是0~16的随机数了%random%为系统提供的随机数变量,%是set/a里取余计算符,在批处理中须多写一个成%% 详set/?...
回复

使用道具 举报

千问 | 2011-2-1 21:44:29 | 显示全部楼层
怎么说呢 ?。?拆开来看看:set /a ----运算%random% -------- 随机一个数字%% -----一个求余符号17 -----不解释随机一个大数除以17,求余数。余数赋值给xx。一个求模运算(好像叫求余运算 :)),别想太多了。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行