如何生成使用C - langugae随机数?

D

Delta11

Guest
家伙......我需要一个想法如何产生随机数使用C - langugae?是否可以实现这样的事情一样有效地利用PIC或AVR的一系列温和的微控制器!

 
您好Delta11,

查询“线性同余法”。
这是最常见
, 最简单的方法之一产生均匀分布的随机数。
关心

ž

 
试试这个..如果这种帮助。

http://www.daniweb.com/code/snippet216329.html

 
采取一个数组
, 然后输入没有在它的1分钟后添加:或使用指针
, 并让有2增量的地址。

 
使用线性同余发电系统下面的代码。它采用32位的全球无符号整数。它必须是32位!为PIC C18编译器可以使用无符号长。您可以设置用的setSeed(种子种子),并得到一个随机数与兰特()。

代码:无符号长x;无效的setSeed(无符号长种子)(

x =种子;

)无符号长兰特()(

x = 1103515245 * × 12345;

返回X和0x3FFFFFFF;



 
行。
考虑到上述代码生成均匀分布的范围内的数字[0,0x3FFF](14位)。
关心

ž

 
您好佐罗

这是一个错误。这本来是0x3FFFFFFF(30位)。我改变了上面的代码。该代码实现海湾合作委员会随机生成。

如果你想要一个更小的范围内就以尽可能少位的需要。例如
, 如果您需要8位随机数字使用0x000000FF。

Slorn

-dwengo ...
可以让你开始与微控制器!
 


使用您的A /作为生产随机数(种子通过连接通过一个电阻器的A / D输入到GND和阅读器没有结果或总结)来源D转换器

一切顺利

波比
微控制器专家
 

Welcome to EDABoard.com

Sponsor

Back
Top