第12章 微机是啥玩意儿?

御宅书屋备用网站无广告

    只见姚夏在信纸上写到:
    uint mt_seed(uint seed, uint *mt, int n)
    {
    int i;
    memset(mt, 0x00, n*sizeof(uint));
    for(i=1; i
    {
    mt[i]= mt__F *(mt[i-1]^mt[i-1]>>(mt__w-2))+i;
    }
    return mt[n-1];
    }
    ……
    (前面一大堆宏和结构体定义我就不写了,大家看着是个意思就行。)
    这是用c语言写的,当前部分是用来编写随机数种子函数。
    时隔这么多年,姚夏没有想到居然还会有用手写代码的时候。
    要知道从当年做完华为和鹅厂的笔试题之后,姚夏就没有这么干过了。
    没有开发工具,手写代码真的很麻烦。
    姚夏用了两页信纸,详细描述了梅森旋转随机数生成算法。
    为什么选择梅森旋转,主要是基于几个方面的原因。
    首先,现在是1986年,距离1999年的Intel在其 i810芯片组上集成了芯片级的随机数生成器,从而使得新的服务器都自带热噪声的本地源随机数生成能力——真正的随机数生成器这一伟大的发明还有13年的时间。
    在这段时间当中,如果程序猿想要实现比较【随机】的【随机数】基本上就是通过不断的优化算法来进行实现的。
    随机数对于整个计算机历史都有着非常重要的意义,因为大家都知道计算机的本质是二进制,0101,这样产生的数字几乎不存在随机性,也就是缺少了【掷骰子】的过程,但是随着计算机的不断发展,人们对于随机的要求也越来越高。
    且不说游戏当中需要让AI来进行一定的随机行为,让玩家产生新鲜感,哪怕是正常的统计学当中,还有在各种通过计算机模拟的实验当中,都需要用到随机。
    随机数对于未来的信息加密、统计和游戏领域都有着举足轻重的作用。
    梅森旋转是在1997年的时候,由松本真和西村拓士发明的。它完美地平衡了性能和随机数的质量,并且经受住了时间的考验。
    姚夏直接用这个算法,可以引起清大教授的重视,从而能获得直接去清大进修的机会。
    第二个,这个算法虽然是1997年发明的,可本质上用现有的计算机性能就能支持,同时姚夏采用的c语言是现在比较主流的面向对象语言之一。
    一切都符合这个时代的特征。
    好多经典的算法都已经被前人给用过了,比如说非常有名的FFt算法,快速傅里叶变换,1965年的时候就已经被人给提出来。
    不然姚夏肯定会优先写这个。
    傅里叶的名字对于许多小伙伴们来说绝对不陌生,而且不管哪个领域,只要你学习跟数学、物理、计算机……理工科相关,就一定会为这个名字头疼不已。
    啊……
    姚夏想到傅里叶变换,不由得感叹一声,它是多么美啊。
    当然,姚夏写的这个梅森旋转也没有好到哪里去,大家肯定都听说过【梅森素数】,之所以这个算法的名字要叫做梅森旋转,本身跟梅森没有多少关系,而是因为它的循环节是2^-1,这个叫做梅森素数。
    其他的还有什么迪杰斯特拉算法,RSA非对称加密算法,哈希安全算法……都不如梅森旋转更适合。
    第三,相比起其他的可以【适当】表现自己水准的程序来说,姚夏写这个感觉更容易一些,全部写完加起来也不过百多行的代码量。
    姚夏也是思考了很久才确定下来要在信纸当中写梅森旋转的。
    ……
    别看代码量不大,但是姚夏写了差不多有20分钟左右。
    终于写完,姚夏再仔细检查了一遍,确认没有什么问题,包括注释也很详细和完美,这才松了口气笑了起来。
    打完收工。
    姚夏回过头来礼貌地将钢笔递还给周思文。
    “谢谢叔叔。”
    “不用不用。”
    周思文将钢笔接过来,别到自己的上衣口袋里面,张了张嘴,很想问姚夏一些问题,可话到嘴边才发现并不知道该从何问起,关键是他根本看不懂姚夏在写些什么。
    姚夏迅速地将信纸折叠好,放进信封当中。
    “小同志,我刚才不是故意要看你的写的信的哈,就是匆匆瞥了一眼,”旁边的大叔凑过来,饶有兴趣地问到,“我看你写的英文也不完全是英文,数字也不全是数字,这写的是什么呀,别人能看懂吗?
    我没得别的意思,就是有些好奇。”
    “哦,没得事,”姚夏倒是满不在乎,随口回应到,“就是一段代码,不是给普通人看的。”
    啧啧。
    不是给普通人看的。
    周思文沉默了,两只眼睛忽闪忽闪的,欲言又止。
    “计算机你知道吗?”姚夏问到。
    “计算器?”
    “不,不是计算器,是……嗯……微机,微型计算机,或者叫做电脑。”
    看着对方一脸茫然的样子,姚夏在心里面叹了口气,放弃了解释。
    “算了,叔叔,我解释了你可能也不懂。”
    周思文确实不懂,听得一头雾水。
    现在的计算机还不叫做计算机,国内更多的叫法叫做微机,不过在安南县这种连电视机都没有的地方,更别说见过微机的了。
    姚夏本来已经准备好的饭粒用来粘信封的,可到了邮电局才发现,寄信窗口的外面放着一大瓶浆糊,浆糊当中还有一个像冰棍棒子一样的小木片。
    他涂了点浆糊,把信封封口,然后在信封上写下地址和方晓霞的名字交给工作人员。
    “哟,寄帝都的啊?”窗口的大姐看了一眼。
    “对。”姚夏点点头。
    “要加急不?”工作人员说,“加急8分,不加急4分钱。”
    “加急吧。”姚夏说。
    他还挺急的。
    再不急就得回去砍树了。
    工作人员给贴上邮票,然后对姚夏说,“可以了,我们会帮忙统一寄出去的,加急信的话,应该3天时间就到了。”
    “好的,谢谢了。”
    姚夏迈着欢快的步伐,转瞬就出了邮电局的大门。
    周思文看着姚夏离开的背影,两只眼睛闪闪发亮,口中念叨着,“微机,微机……”
    过了两秒,他才如梦初醒般抬起头来。
    “哎呀。”
    周思文一拍大腿,“忘记问他的名字和住处了。”
    ……