草庐IT

arc4random

全部标签

random - 如何正确播种随机数生成器

我正在尝试在Go中生成一个随机字符串,这是我目前编写的代码:packagemainimport("bytes""fmt""math/rand""time")funcmain(){fmt.Println(randomString(10))}funcrandomString(lint)string{varresultbytes.Buffervartempstringfori:=0;i我的实现非常缓慢。使用time播种会在一定时间内带来相同的随机数,因此循环会一次又一次地迭代。如何改进我的代码? 最佳答案 每次设置相同的种子时,都会得到相

linux -/dev/random 非常慢?

一些背景信息:我希望在RedHat服务器上运行一个脚本来从/dev/random读取一些数据并使用Perlunpack()命令将其转换为十六进制字符串以供以后使用(基准数据库操作)。我在/dev/random上运行了几个“head-1”,它似乎运行良好,但在调用了几次之后,它就会挂起。几分钟后,它终于会输出一小段文字,然后结束。我切换到/dev/urandom(我真的不想这样做,它的速度较慢,而且我不需要那种随机性),它在前两三个调用中运行良好,然后它也开始挂起。我想知道是不是“head”命令在轰炸它,所以我尝试使用Perl做一些简单的I/O,它也挂了。作为最后的努力,我使用“dd”命

bash - 如何base64编码/dev/random或/dev/urandom?

cat/dev/urandom总是一种在显示器上创建滚动字符的有趣方式,但会产生太多不可打印的字符。有没有一种简单的方法可以在命令行上对其进行编码,使其所有输出都是可读字符,例如base64或uuencode。请注意,我更喜欢不需要创建额外文件的解决方案。 最佳答案 类似的东西呢cat/dev/urandom|base64它提供了(很多)类似的东西hX6VYoTG6n+suzKhPl35rI+Bsef8FwVKDYlzEJ2i5HLKa38SLLrE9bW9jViSR1PJGsDmNOEgWu+6HdYm9SsRDcvDlZAdMX

python - random.choice 的加权版本

我需要编写一个加权版本的random.choice(列表中的每个元素都有不同的被选中概率)。这是我想出的:defweightedChoice(choices):"""Likerandom.choice,buteachelementcanhaveadifferentchanceofbeingselected.choicescanbeanyiterablecontainingiterableswithtwoitemseach.Technically,theycanhavemorethantwoitems,therestwilljustbeignored.Thefirstitemisthet

java - Math.random() 与 Random.nextInt(int)

Math.random()*n和Random.nextInt(n)有什么区别,其中n是整数? 最佳答案 这里是thedetailedexplanation为什么“Random.nextInt(n)比Math.random()*n更高效且偏差更小”来自Gili链接到的Sun论坛帖子:Math.random()usesRandom.nextDouble()internally.Random.nextDouble()usesRandom.next()twicetogenerateadoublethathasapproximatelyuni

java - Math.random() 解释

这是一个非常简单的Java(尽管可能适用于所有编程)问题:Math.random()returnsanumberbetweenzeroandone.如果我想返回一个介于0和00之间的整数,我会这样做:(int)Math.floor(Math.random()*101)在一到一百之间,我会这样做:(int)Math.ceil(Math.random()*100)但是如果我想得到一个介于3和5之间的数字怎么办?会不会像下面的语句:(int)Math.random()*5+3我知道java.lang.util.Random中的nextInt()。但我想学习如何使用Math.random()来

java - java.util.Random 真的那么随机吗?我怎样才能生成52! (阶乘)可能的序列?

我一直在使用Random(java.util.Random)来洗一副52张牌。有52个!(8.0658175e+67)个可能性。然而,我发现java.util.Random的种子是一个long,在2^64(1.8446744e+19)时要小得多。从这里开始,我怀疑java.util.Random是否真的那么随机;它真的能够生成所有52个吗?可能性?如果不是,我怎样才能可靠地生成一个可以产生全部52个的更好的随机序列!可能性? 最佳答案 与您的问题所暗示的相比,选择随机排列同时需要更多和更少的随机性。让我解释一下。坏消息:需要更多随机

c++ - 为什么每次使用 std::random_device 和 mingw gcc4.8.1 运行都会得到相同的序列?

我使用下面的代码来测试C++图书馆。为什么每次运行已编译的可执行文件都得到完全相同的序列?是rd()编译时确定性?如何为每次运行获得不同的输出?Windows764位上的GCC4.8.1。使用http://nuwen.net/mingw.html中的MinGW分发.编辑:我用VisualStudio测试了相同的代码。没有问题。输出是不确定的。这可能是我使用的mingwgcc4.8.1中的一个错误。#include#includeusingnamespacestd;intmain(){random_devicerd;mt19937mt(rd());uniform_int_distribu

objective-c - 在 ARC 之后,我应该为调度队列使用什么属性?

我维护一个调度队列作为我的ViewController的一个属性。我在ViewController的init方法中创建了一次这个队列,并为一些后台任务重用了几次。在ARC之前,我是这样做的:@property(nonatomic,assign)dispatch_queue_tfilterMainQueue;在初始化中:if(filterMainQueue==nil){filterMainQueue=dispatch_queue_create("com.myQueue.CJFilterMainQueue",NULL);}但是在ARC之后,我不确定这是否应该仍然是“分配”,或者应该是“强”

iphone - 我需要在 ARC 中使用 dealloc 方法吗?

所以,我有课:@interfaceController:NSObject{UILabel*fileDescription;}@property(strong,nonatomic)UILabel*fileDescription;我是否需要在属性fileDescription等于nil的情况下使用方法dealloc?例如:-(void)dealloc{fileDescription=nil;}如果不是,谁将关闭fileDescription使用的内存? 最佳答案 通常您不需要提供子类dealloc方法,因为ARC管理实例变量的生命周期。