返回 12.微机是啥玩意儿?  你好1986 首页

上一页 目录 下一页

『章节错误,点此报送』

12.微机是啥玩意儿?[1/3页]

  只见姚夏在信纸上写到:

  uintmt_seed(uintseed,uint*mt,intn)

  {

  inti;

  memset(mt,0x00,n*sizeof(uint));

  for(i=1;i

  {

  mt[i]=MT_199332_F*(mt[i-1]^mt[i-1]>>(MT_199332_W-2))+i;

  }

  returnmt[n-1];

  }

  ……

  (前面一大堆宏和结构体定义我就不写了,大家看着是个意思就行。)

  这是用C语言写的,当前部分是用来编写随机数种子函数。

  时隔这么多年,姚夏没有想到居然还会有用手写代码的时候。

  要知道从当年做完华为和鹅厂的笔试题之后,姚夏就没有这么干过了。

  没有开发工具,手写代码真的很麻烦。

  姚夏用了两页信纸,详细描述了梅森旋转随机数生成算法。

  为什么选择梅森旋转,主要是基于几个方面的原因。

  首先,现在是1986年,距离1999年的Intel在其i810芯片组上集成了芯片级的随机数生成器,从而使得新的服务器都自带热噪声的本地源随机数生成能力——真正的随机数生成器这一伟大的发明还有13年的时间。

  在这段时间当中,如果程序猿想要实现比较【随机】的【随机数】基本上就是通过不断的优化算法来进行实现的。

  随机数对于整个计算机历史都有着非常重要的意义,因为大家都知道计算机的本质是二进制,0101,这样产生的数字几乎不存在随机性,也就是缺少了【掷骰子】的过程,但是随着计算机的不断发展,人们对于随机的要求也越来越高。

  且不说游戏当中需要让AI来进行一定的随机行为,让玩家产生新鲜感,哪怕是正常的统计学当中,还有在各种通过计算机模拟的实验当中,都需要用到随机。

  随机数对于未来的信息加密、统计和游戏领域都有着举足轻重的作用。

  梅森旋转是在1997年的时候,由松本

12.微机是啥玩意儿?[1/3页]

『加入书签,方便阅读』

上一页 目录 下一页