您当前的位置:首页 > 计算机 > 编程开发 > C语言

如何在C语言中嵌入汇编语言与产生随机数

时间:12-31来源:作者:点击数:

TMS320C28x编译器允许在C程序中嵌入汇编指令,通过下面声明实现:
        asm(“assembler text”);

其中assembler text指汇编代码。asm指令一般用来处理C/C++语句较难实现的硬件操作。举例:
        #define EINT asm(" clrc INTM")
        #define DINT asm(" setc INTM")

c语言中取得伪随机数主要使用srand()和rand()这两个函数。

rand()函数会返回一个伪随机数,但是这是通过一种数学公式推算出来的,得到的随机数分布太集中,这时候要使用srand()函数来设定产生随机数的种子,一般采用当前时间作为种子,这样可以得到分布比较均匀的伪随机数。

rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。随机数测试如下:

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
void main()
{
   int results[10];/*用于保存随机数产生的结果*/
   int i=0;
   srand((int)time(0));/*设定种子*/
   for(i=0;i<10;i++)
   {
      results[i]=0;
   }
   for(i=0;i<10000;i++)
   {
      (results[rand()%10])++;/*取一万次随机数,使用求余运算符使得最后取得的随机数小于10*/
   }
   for(i=0;i<1 0;i++)
   {
      printf(" %d   %d \n",i,results[i]);/*输出0-9之间的随机数出现的次数*/
   } 
}

经多次运行试验,产生的随机数比较均匀

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门