C#随机数Random
一、常用操作
- NextDouble():返回0-1.0之间的随机数
- Next():返回非负随机整数(0-216)
- Next(i):返回一个小于i的非负随机整数
- Next(i,j):生成i – j 的随机整数
- NextBytes(byte[]):用随机整数(0-255)填充指定字节数组的各个元素。
System.Random r = new Random();
s1 = r.NextDouble().ToString();//0.868992506465405
s2 = r.Next().ToString(); //1665548020
s3 = r.Next(10).ToString(); //5
s4 = r.Next(1000, 2000).ToString();//1885
byte[] buffer = new byte[255];
r.NextBytes(buffer);
s5 = buffer[254].ToString(); ;//207
二、种子操作
1、不指定随机种子,则默认有系统时钟生成种子。
时间间隔如果太短,创建的多个不同的Ramdom对象将具有相同的默认种子值,因而会产生几组相同的随机数。
System.Random r1 = new Random();
System.Random r2 = new Random();
Console.WriteLine(r1.Next().ToString());// 615672499
Console.WriteLine(r2.Next().ToString());// 615672499
使用单个Random对象生成所有随机数可避免此问题。
System.Random r = new Random();
Console.WriteLine(r.Next().ToString());// 1933637733
Console.WriteLine(r.Next().ToString());// 1799552041
2、种子值相同时,其随机序列也相同。
System.Random r1 = new Random(1);
System.Random r2 = new Random(1);
System.Random r3 = new Random(2); byte[] buffer1 = new byte[2];
byte[] buffer2 = new byte[2];
byte[] buffer3 = new byte[2]; r1.NextBytes(buffer1);
r2.NextBytes(buffer2);
r3.NextBytes(buffer3); s1 = String.Join(",", buffer1);// 70,208
s2 = String.Join(",", buffer2);// 70,208
s3 = String.Join(",", buffer3);// 113,147
C#随机数Random的更多相关文章
- (五)boost库之随机数random
(五)boost库之随机数random boost库为我们提供了许多的日常随机数生成器: 1.uniform_smallint:在小整数域内的均匀分布 2.uniform_int:在整数域上的均匀分布 ...
- Python 随机数 random
1. Python seed() 函数 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数. seed( )是不能直接访问的,需要导入 random 模块,然后 ...
- [Swift] 随机数 | Random numbers
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- JS对象随机数 random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。 注意:返回一个大于或等于 0但小于1的符号为正的数值
随机数 random() random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数. 语法: Math.random(); 注意:返回一个大于或等于 0 但小于 1 ...
- 随机数(random)
需求 Random rd=new Random(); 需要十以内的随机数 (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...
- shell脚本获取随机数random
用C提供的取随机数的方法srand和rand, 前者是给后者设置随机数种子seed. ; srand(seed); // time(NULL) 通常使用时间做种子 rnd_num = rand(); ...
- Python之数学(math)和随机数(random)
math包包含了最基本的数学运算函数,如果想要更加高级的数学功能,可以使用标准库外的numpy和scipy库,他们不但支持数组和矩阵运算, 还有丰富的数学和物理方程可供使用 random包可以用来生成 ...
- C# -- 随机数(Random)的使用
使用随机数产生一组大乐透号码 1. C#代码 1 Console.WriteLine("===============大乐透===红色球==============="); Lis ...
- 随机数Random
掷骰子10次,统计1.2出现的次数 public static void Main(string[] args) { ,a2=; Random random=new Random();//创建随机数对 ...
- python随机数random模块
需要 import random x=random.random() 产生 0 到 1 之间的随机浮点数 结果 0.005570080000840916 x=random.randint(1 ...
随机推荐
- SecureCRT字体、界面优化
SecureCRT字体.界面优化 本文是secureCRT的第三篇博文,也是目前secureCRT优化的最终篇.首次使用该软件时候.应该会设置字体和编码,接下来,将演示如何设置. 1. 字体.编码设置 ...
- mysql 按照计算值排序
SELECT title,browse_num/exposure_num as click_rate FROM `tf_news` ORDER BY browse_num/exposure_num d ...
- [转帖]Linux教程(11)- linux中的计划作业
Linux教程(11)- linux中的计划作业 2018-08-21 17:13:36 钱婷婷 阅读数 160更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...
- Linux学习-基本命令文件操作
终端 1.多个终端 连接linux的客户端可以理解为终端. 命令:tty查看终端 2.不同终端之间的通讯 [root@wyx wyx]# echo 123 > /dev/pts/1 把123发给 ...
- CRT远程连接centos7,连接超时
CRT远程连接centos7,连接超时 问题原因: 宿主机(win10)和虚拟机(centos7)不在同一个网段 在宿主机无法ping通虚拟机, 首先在cmd窗口ipconfig查看一下vmnet的i ...
- Select与Epoll的区别
相同点: 都是IO多路转接,都是一个线程能同一时间等待一堆描述符 不同点: 1.select接口使用不方便,每次调用完select都需要重新设置fd_set,因为输入输出未分离,返回的fd_set ...
- Latex局部字体大小设置
tex 设置字体大小命令由小到大依次为: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \ ...
- Jenkins + GitLab + SpringBoot 实现持续集成脚本
Linux脚本 #!/bin/bash jar_name=hq-api.jar cd /usr/local/app/hq-api echo "Stopping SpringBoot Appl ...
- Java NIO和IO的区别
下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异. 复制代码 代码如下: IO NIO面向流 面向缓冲阻塞IO 非阻塞IO无 选择器 面向流与面向缓冲 Java NIO ...
- 【转载】C#使用Math.Floor方法来向下取整
在C#的数值运算中,有时候需要对计算结果舍去小数位保留整数位向下取整即可,此时就可使用内置方法Math.Floor来实现向下取整操作,Math.Floor方法将舍去小数部分,保留整数.Math.Flo ...