小编Jas*_*ner的帖子

Bash脚本中范围内的随机数

我需要在2000-65000shell脚本之间生成一个随机端口号.问题是$RANDOM15位数,所以我卡住了!

PORT=$(($RANDOM%63000+2001)) 如果不是因为尺寸限制,它会很好地工作.

有没有人有一个如何做到这一点的例子,可能是从/dev/urandom一个范围内提取并得到它?

bash shell scripting

177
推荐指数
11
解决办法
16万
查看次数

Python - 执行进程 - >阻塞直到它退出并抑制输出

我正在使用以下内容执行进程并从Python隐藏其输出.它在循环中,我需要一种方法来阻止,直到子进程终止,然后才转到下一次迭代.

subprocess.Popen(["scanx", "--udp", host], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
Run Code Online (Sandbox Code Playgroud)

python subprocess

9
推荐指数
2
解决办法
5288
查看次数

表示数字的位数

我正在尝试编写一个函数来返回一个正整数的位数,小于(2 ^ 53)-1的Javascript限制.但是我被精确问题所困扰,并希望避免使用大整数库.

方法1:

function bitSize(num)
{
return Math.floor( Math.log(num) / Math.log(2) ) + 1;
}

Pass: bitSize( Math.pow(2, 16) -1 ) = 16
Pass: bitSize( Math.pow(2, 16) ) = 17
Fail (Should be 48): bitSize( Math.pow(2, 48) -1 ) = 49 
Pass: bitSize( Math.pow(2, 48) ) = 49
Run Code Online (Sandbox Code Playgroud)

方法2:

function bitSize(num)
{
var count = 0;
while(num > 0)
{
    num = num >> 1;
    count++;
}
return count;
}

Pass: bitSize( Math.pow(2, 16) -1 ) = 16
Pass: …
Run Code Online (Sandbox Code Playgroud)

javascript bits bit-manipulation

9
推荐指数
2
解决办法
8674
查看次数