博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINUX随机数
阅读量:6505 次
发布时间:2019-06-24

本文共 843 字,大约阅读时间需要 2 分钟。

  hot3.png

这是我个人的一个整理,现在记下我自己常用和了解的方法,以后如果能接触到其他的,我会在这里补充。我只会使用LINUX提供的特性,不会自己去写随机函数。

$RANDOM

这是最常见的用法了,而且简单。它产生0-32767之间的随机数。

echo $RANDOM

如果你想产生0-199的随机数。

echo $((RANDOM%200))

如果你想产生100-299的随机数

echo $(( RANDOM%200+100 ))

如果想生成的随机数大于32767怎么办?

你可以使用几次RANDOM然后以某种方式去计算得到你想要的范围。

比如你想产生2×32767范围的随机数

echo $(( RANDOM + RANDOM ))

这种方法需要你去测试,去测试随机结果是否满足你的要求。

我不会自己去找这种式子,浪费时间浪费资源,LINUX都给你准备好了。

貌似,下面介绍的方法,才是大牛们最常使用的随机数产生方法。

/dev/random和/dev/urandom

我以前都是使用的RANDOM而且从来没想过随机的性能,后来一次要做很大数据的随机,所以接触到这个方法,也知道这个号称真正的随机产生器(当然其实也有“弱点”)。

这些都是LINUX的特殊文件,可以想普通文件那样访问,读取的就是随机数。

简单的open,read,close就可以了。

SHELL中可以使用od命令。

/dev/random和/dev/urandom的区别

urandom-unblock random,就是unrandom不会阻塞。

详情可以自己google找找很好找的。给大家几个链接一般就解决问题了。

简单易懂的博文,看完就会写代码,不过有几个小错误,下面评论的都提到了:

/dev/random vs /dev/unrandom:

这里很多方法我都不懂,其实一两个方法就够用了。:

在C中使用/dev/random:

转载于:https://my.oschina.net/luan/blog/78308

你可能感兴趣的文章
[zz]在linux中出现there are stopped jobs 的解决方法
查看>>
Delphi下实现全屏快速找图找色 一、数据提取
查看>>
查询表字段信息
查看>>
logback与Log4J的区别
查看>>
关于机器学习的最佳科普文章:《从机器学习谈起》
查看>>
dxFlowChart运行时调出编辑器
查看>>
NET Framework 3.0 (WinFX) RTM发布
查看>>
图片拼接器
查看>>
C++ TinyXml操作(含源码下载)
查看>>
读取swf里所有类定义
查看>>
DOWNLOAD 文件
查看>>
rp2833 网卡以及串口与接插件位置关系
查看>>
ogre场景图与场景内容分离
查看>>
中断小笔记
查看>>
C#委托、事件、消息(入门级)
查看>>
通信常用概念
查看>>
FreeBinary 格式说明
查看>>
oracle相关链接
查看>>
使用Spring Cloud和Docker构建微服务
查看>>
常用链接
查看>>