据我所知,C规范没有给出任何关于具体实现的规范rand().在不同的主要平台上通常使用哪些不同的算法?他们有什么不同?
我在C中编写一些嵌入式代码,需要使用rand()函数.不幸的是,控制器的库不支持rand().我需要一个快速的简单实现,但更重要的是空间开销很小,产生相对高质量的随机数.有谁知道使用哪种算法或示例代码?
编辑:它用于图像处理,因此"相对高质量"意味着良好的循环长度和良好的均匀特性.
我们通常使用random()函数在C++中创建随机数.
使用void srand(unsigned int seed)可以改善结果,因为它会根据种子的值生成随机数.
谁能告诉我随机功能是如何实际实现的?
我已经尝试了几个小时来找到gcc中使用的rand()函数的实现...如果有人可以引用我的文件包含它的实现或带有实现的网站,我将不胜感激.
顺便说一下,哪个目录(如果重要的话我使用Ubuntu)包含gcc编译器的c标准库实现?
我知道如何实现它.但是,我想了解rand在内部是如何表现的,为什么有必要初始化rand函数的'seed'值.
换句话说 - rand函数如何使用种子值生成随机数?