我想通过使用perl生成64个不重复的只包含0和1(例如111111,101111,000000)的6位数字的迭代。 我发现的代码可以生成随机十六进制并尝试修改它,但我认为我的代码都是错误的。这是我的代码:在perl中生成随机二进制数
use strict;
use warnings;
my %a;
foreach (1 .. 64) {
my $r;
do {
$r = int(rand(2));
}
until (!exists($a{$r}));
printf "%06d\n", $r;
$a{$r}++;
}
你是什么使用你的随机数字?因为你应该注意 - perl随机不是'强',所以不适合任何与安全有关的东西。 – Sobrique
我实际上想要生成所有可能的6位二进制数。由于手写所有可能的组合很麻烦,并且容易出现人为错误,所以我认为通过使用rand()而不重复并将其存储到数组中来生成它是个好主意。 – irwan
这是一个非常低效的方法。为什么不计算从0到63并以二进制打印? – Sobrique