看uboot的时候发现随机数的另外一种算法
2024-08-26 05:53:16
#include <stdio.h> #include <time.h> static unsigned int y = 1U; unsigned int rand_r(unsigned int *seedp) { *seedp ^= (*seedp << 13); //这里居然用异或和位移来实现,感觉很强大 *seedp ^= (*seedp >> 17); *seedp ^= (*seedp << 5); return *seedp; } unsigned int rand(void) { return rand_r(&y); } void srand(unsigned int seed) { y = seed; } int main(void) { int i ; srand(time(NULL)) ; for(i = 0 ; i < 100 ; i++) printf("%d\n", rand() % 100) ; }
执行结果是随机产生的100个数。
最新文章
- jquery的.html(),.text()和.val()方法
- 043. asp.net主题之一初识主题和皮肤
- Jquery在线引用地址
- 使用phpstorm和xdebug实现远程调试
- codeforces 687D Dividing Kingdom II 带权并查集(dsu)
- Google Map 自定义 infowindow
- 消息推送之androidpn部署
- vue中组件之间的相互调用,及通用后台管理系统左侧菜单树的迭代生成
- 利用svg描边+css3实现边框逐渐消失小动画
- js 执行机制
- 牛客练习赛26—D xor序列 —线性基
- JsonLayout log4j2 json格式输出日志
- c#基础系列1---深入理解值类型和引用类型
- enumerate()用法
- Cron 表达式
- hibernate 02之helloworld
- pip install bs4安装失败
- FFTW3学习笔记3:FFTW 和 CUFFT 的使用对比
- Git配置非22端口,解决:ssh: connect to host xxx port 22: Connection timed out fatal: The remote end hung up unexpectedly
- http://www.cnblogs.com/ITtangtang/archive/2012/05/21/2511749.html
热门文章
- kafka简单回顾
- delphi 线程教学第四节:多线程类的改进
- C++笔记十二:C++对C的扩展——struct关键字类型增强
- 亲密接触Redis-第三天(Redis的Load Balance)
- Android-Chart
- Android 实现串口的移植
- Dynamics CRM2016 在实体命名时需要注意的事项
- Android Topeka介绍
- 关于[[NSNotificationCenter defaultCenter] addObserver不remove后续又收到通知crash问题
- C语言诠释--为什么内存是线性分布的。