摘要: 尽管ISO C99使用了非常简单的并且具备移植性的样例描述了rand函数和srand函数的实现。但是在具体的C语言函数库的实现上,由于考虑到运行效率以及线程安全,代码就稍微多了一些。这里以glibc 2.18为例。在stdlib目录下,我们找到rand.c,内容如下:1 /* Return a ra... 阅读全文
posted @ 2014-11-07 21:20 nipan 阅读(4635) 评论(0) 推荐(2) 编辑
摘要: 我们在编程实现算法的过程中,往往需要使用到随机数。由于计算机是一台以逻辑为基础的机器,没法做到真正的随机(大概量子计算机可以?)。所以计算机生成的是伪随机数,供我们使用。我们使用C语言的rand函数,生成的也是伪随机数。一个简单的示范如下: 1 #include 2 #include 3 #in... 阅读全文
posted @ 2014-11-07 17:52 nipan 阅读(11571) 评论(0) 推荐(2) 编辑
摘要: 在C语言的头文件time.h中,定义了日期和时间操作的数据类型和操作。在此处,我们参考MinGW(Minimalist GNU for Windows)中的time.h。首先我们看看time.h所声明的数据类型: 1 typedef long clock_t; 2 3 typedef ... 阅读全文
posted @ 2014-11-07 11:55 nipan 阅读(1537) 评论(0) 推荐(0) 编辑