HERD--位运算

判断一个数是否是2的次方

1 static inline int hrd_is_power_of_2(uint32_t n)
2 {
3       return n && !( n & (n - 1 ));  
4 }

快速随机数

static inline uint32_t hrd_fastrand(uint64_t *seed)
{
     *seed=*seed * 1103515245 + 12345;
      return (uint32_t)(*seed >> 32);
}

一般种子数seed会取系统时间的模来作为参数,同样的时间种子会产生同样的序列,每次产生随机数的时间间隔相差不大的话,产生的随机数序列的第一个数值往往也相差不大,对于一些要求严格的场合不太适用。

所以为了使每次产生随机数的差别较大,随机性效果好,可以增加相邻两次产生随机数的时间间隔,比如用系统毫秒和微妙时间取一次模然后作为时间种子。

既适用于多线程多进程也适用于频繁调用随机数函数,可以得到各不相同的随机数序列。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏瓜大三哥

HLS Lesson6-数据类型转换

1.整数数据类型 传统的C语言可以采用:数据类型 数据变量 赋值 int var = -1; ap_int<6> a_6bit_var_c = -22;//复制...

23710
来自专栏wym

字符串--Kmp详解+代码

        给定文本串text和模式串pattern,要求从文本串中找到模式串第一次出现的位置。

501
来自专栏和蔼的张星的图像处理专栏

737. Find Elements in Matrix哈希表查找

Given a matrix, find a element that appear in all the rows in the matrix.You can...

372
来自专栏机器之心

搭建模型第一步:你需要预习的NumPy基础都在这了

NumPy 主要的运算对象为同质的多维数组,即由同一类型元素(一般是数字)组成的表格,且所有元素通过正整数元组进行索引。在 NumPy 中,维度 (dimens...

692
来自专栏来自地球男人的部落格

tensorflow中取值

最近在写用tensorflow的程序时,中途遇到想取出tensorflow中的返回值是什么,可是其返回值也是一个tensor。用了两种方法,试图将tensor直...

1676
来自专栏和蔼的张星的图像处理专栏

422. 最后一个单词的长度 从后向前遍历

给定一个字符串, 包含大小写字母、空格' ',请返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 样例 给定 s = "Hello Wo...

682
来自专栏C语言及其他语言

[蓝桥杯]时间转换

题目描述 给定一个以秒为单位的时间t,要求用 “< H> :< M> :< S> ”的格式来表示这个时间。< H> 表示时间,< M> 表示分钟, 而< S...

34311
来自专栏chafezhou

小说python的字符串反转

976
来自专栏机器学习算法全栈工程师

最长递增子序列

最长递增序列不要求数组元素连续问题,返回递增序列长度和递增序列。o(n^2)做法,顺序比较以第i个元素开头的递增序列即可。 利用动态规划来做,假设数组为1, -...

3296
来自专栏C/C++基础

C++函数指针简介

(1)定义函数指针的语法形式比较复杂,常借助于typedef类型定义符来简化函数指针的定义。

301

扫描关注云+社区