jsが乱数を生成する過程解析
1860 ワード
一、予備知識
二、[n,m]を生成するランダム整数関数機能:[n,m]を生成するランダム整数.
認証コードを生成したり、オプションをランダムに選択したりする場合に有用です.
通常は整数が期待されますので、得られた結果を処理します.
parseInt()、Math.flor()、Math.ceeir()、Math.round()は整数を得ることができます.
parseInt()とMath.flor()の結果は下に整理されます.
したがって、Math.randowm()*5は[0,4]のランダムな整数を生成する.
したがって、[1,max]の乱数を生成します.数式は以下の通りです.
Math.ceil(); // 。
Math.floor(); // 。
Math.round(); // 。
Math.random(); //0.0 ~ 1.0 。【 0 1】 // 0.8647578968666494
Math.ceil(Math.random()*10); // 1 10 , 0 。
Math.round(Math.random()); // 0 1 。
Math.floor(Math.random()*10); // 0 9 。
Math.round(Math.random()*10); // 0 10 , 0 10 。
結果は0~0.4で、0.5から1.4までは1…8.5から9.4までは9で、9.5から9.9までは10です.だから、頭尾の分布区間は他の数字の半分しかないです.二、[n,m]を生成するランダム整数関数機能:[n,m]を生成するランダム整数.
認証コードを生成したり、オプションをランダムに選択したりする場合に有用です.
// minNum maxNum
function randomNum(minNum,maxNum){
switch(arguments.length){
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}
プロセス解析:Math.randowm()は[0,1]の数を生成するので、Math.random()*5は{0,5}の数を生成する.通常は整数が期待されますので、得られた結果を処理します.
parseInt()、Math.flor()、Math.ceeir()、Math.round()は整数を得ることができます.
parseInt()とMath.flor()の結果は下に整理されます.
したがって、Math.randowm()*5は[0,4]のランダムな整数を生成する.
したがって、[1,max]の乱数を生成します.数式は以下の通りです.
// max -
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);
したがって、[0,max]から任意の数の乱数を生成します.数式は以下の通りです.
// max -
parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));
したがって[min,max]の乱数を生成したいです.公式は以下の通りです.
// max -
// min -
parseInt(Math.random()*(max-min+1)+min,10);
Math.floor(Math.random()*(max-min+1)+min);
以上はjsの乱数生成に関する全面的な解析です.