超脑黑客-第361章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
广永元连忙迎过过去,和对方低声说了几句,黄越朝林鸿这边看了几眼。
见广永元示意自己过去,林鸿这才走了过去。
“没想到林先生竟然是同道中人,幸会幸会。”
黄越这个人很好相处,知道林鸿是大陆来的,竟然说起了普通话。
他的普通话相比起来已经相当标准,只是有着广D、香G这边的人的普遍特点,有点大舌头。
两个人的相处,其实非常简单。如果是同类人,很容易就能感觉出来。这是一种难以言明的直觉,正是所谓“气味相投”中的“气味”,说的就是这个道理。
林鸿和黄越两人稍微聊了一会儿,便知道对方和自己是同一个类型。
黄越擅长的是软件编程和算法分析,用他的话来说,就是喜欢通过自己的能力,解决自己的需求。严格说起来,他也并不算是科班出身,也是半路自学成才的野路子,不过当他发现这个领域之后,便一发不可收拾,沉浸其中不可自拔。
接着,林鸿和广永元便和黄越去了他的大本营——九龙区深水埗的鸭寮街。
鸭寮街,被香G本地人称为“电器街”,位于钦州街至南昌街之间,因早盖满了鸭寮因此而获得了这个名称。
说白了,这里就是香G著名的电脑电器一条街,类似于北J的中关村,那里堆扎着非常多的各种商贩。
黄越便是鸭寮街土生土长的本地人。
和其他地方到处都是摩天大厦和写字楼不同,鸭寮街的建筑最高也不过十层的老建筑,密度非常大,各种招牌林立,市井氛围非常足。
广永元开着车,直接钻进了一条非常深的巷子里面。此刻天色已晚,外面灯光闪烁,非常热闹。
下车之后,林鸿这才发现,原来他们已经来到了一个电子市场,周边商铺全部是卖电子电器的产品。
“跟我来。”黄越说了一声,便首先当头,继续朝里面走去。
越往里走,里面的空间就越狭窄,到处都堆满了各种纸箱和电子产品,如收音机、电视机、各种家电,当然还有电脑配件。
广永元解释道:“这里是九龙区的电子市场,黄生从小在这里长大,他父母都是做电子电器生意的,后来将铺子留给了他。他们平时经常在这里聚会。”
第五百四十九章 技术宅
周围的每一寸空间似乎都堆放着各式各样的电子设备和元器件,光线昏暗,拥挤不堪,林鸿觉得自己仿佛来到了大陆某个城市中城隍庙的电子市场。
走了一段路程之后,他看到,和电脑有关的电子配件和元器件逐渐多了起来。
前面,一个前额刘海染成黄色的青年正在店铺中玩着电脑游戏。
这个时候,走在前面的黄越突然站住了,他转头对广永元道:“按照老规矩。”
说完,他便独自一人先朝前面走了。
“老规矩?”林鸿用疑惑地眼神看了广永元一眼。
广永元只好解释道:“要想进入这个圈子,必须证明自己的技术已经达到这个水平。虽然他们都认识我,但他们都是死脑筋,只认技术不认人。”
绕来绕去,林鸿总算明白,要想继续向前走,他必须通过他们设置的考验,颇有点闯关的意味。
“有意思。”林鸿笑笑,对此并不在意,问道,“都有些什么项目?”
广永元道:“编程、破解以及网络渗透。当然,并不一定要全部过关,只要其中一项能够得到他们的认可就行了。你肯定是没有问题的,只是走个过场罢了。”
广永元已经见识过林鸿的破解技术,连《英雄无敌》这样难啃的骨头林鸿都三下五除二不费什么力气就搞定了,更何况是他们的入门考验?
这个时候,之前正在玩游戏的染发青年已经退出游戏,他一甩额头的黄发,对林鸿道:“请吧。”
第一道关卡,编程。
林鸿也没有什么废话,坐到了刚刚青年的座位,他看到,显示器中已经出现了一道题目,很显然,他们对于这种事情已经非常熟悉,拥有了自己一套固定的考验流程。
给林鸿出的题目为“使用基本运算来编写一个你所可能实现的效率最高的平方根函数”。
平方根在数学中是一个非常重要同时也非常复杂的运算,在计算机中实现这种函数通常比较困难,所以编程语言一般都会对这些函数进行封装,程序员在编程的时候,如果涉及到平方根运算,直接调用函数库中的函数就行了,很少有人会懂得底层到底是如何实现的。
而且,能够实现是一方面,能不能做到运算效率高效又是另外一方面。
程序的运行效率,往往就是高手和菜鸟之间的重要区别,真正的黑客,编程的时候,不仅仅只是将功能实现,还会追求最高效率,有时候可能只是一个符号的变化,其执行效率便天差地别。
执行一次的区别可能看不出来,可是如果循环一千次,一万次呢?
高手和菜鸟编写的程序,在效率上往往有着很多倍的差距,要想编写出高效优雅的程序,必须有着对编程语言和计算机底层的本质理解,同时还得拥有丰富的编程经验,在这方面可做不得假,实践是唯一提高自身实力的方式。
林鸿知道,求平方根的运算,有一个算法叫做牛顿迭代法,其原理为:
如果一个数为X,假设它的平方根为Y,如果Y的平方和X相差大于某个给定的误差,就继续假设下一个值,如此持续下去,直到最终得到在允许误差内的值。
至于如何假设这个值,使用的方式便是取平均值,其中必须多次用到除法和乘法。
在计算机中,其本质其实就是加法,整个CPU的运算其实就是一个加法器,当初林鸿实现超脑CPU结构的时候,就是基于一个加法器结构,至于后面的减法、乘法以及除法等运算,都是对在这个加法器的基础上衍伸而来。
直接使用牛顿迭代法来求平方根,这是普通人的做法,林鸿不用想都知道,如果真的按照这种方式来实现,显然不能过关。
林鸿略微一思索便有了头绪,他查看了一下电脑中的编译器,发现这台电脑里面准备得非常充分,不但有市面上常见的一些编程语言编译器,如C、BAISC、JAVA、C++等语言,甚至还有一些非常小众的编程语言,如Ada、Blue、LISP等等。
最终,林鸿还是调出了电脑中的C语言编译器,直接敲起代码来。
霹雳啪啦,仅仅过了二十来秒之后,林鸿便完成了函数的编写。
他调用函数执行了一下,程序成功运行,没有任何地错误,一次通过。
想了想,他再次删掉了两行,将两个步骤合并成了一个,最终的函数代码总数正好为十行。
“好了。”林鸿道。
站在他身后的广永元此刻还在皱着眉头看着他的程序。
他想不通,林鸿为什么这么编写。
“这么快就好了?”染发青年有些诧异。
刚刚他让出座位的时候,便从一个角落拿出了一个掌上游戏机玩了起来,可是刚刚才开始玩,便听到林鸿说已经OK。
这在众多挑战者当中,还是头一回。
染发青年俯身过去看了一眼,脸上微微一愣,林鸿写的这十行代码,虽然他能看懂大部分,但是还有几个细节他一时之间也没弄懂。
他顺手将林鸿的这个函数加入时间统计宏,执行一万次之后,最终显示出了时间,965毫秒,也就是说,不到一秒钟。
他用敬服的眼神看着林鸿,说道:“你过关了。我在这里呆了两年了,两年来,从这里走过的人不下五十人,可是从来没有一个人做到你这一步,不但结果保证精度,并且执行一万次的时间不超过一秒。”
林鸿笑笑,对于他的夸赞并没有什么可得意的,这些都是最基础的东西,只要理解了CPU的运作,多想一想基本上应该都能达到的,没有好得意的。
广永元这个时候出言问道:“阿鸿,我看得不是很懂,求平方根不是使用二分查找法么?”
广永元最擅长的并不是这个方面,他毕竟是野路子出身,基础部分还不是很扎实,林鸿的这十行代码,他竟然看得满头雾水。
他口中所说的二分查找,其实就是牛队迭代法的实现方式之一。
林鸿点点头:“算法的确是这个,不过在这里,我使用二进制的移位代替了乘除。你看……”
林鸿见他听得不是很懂,于是便重新调出编译器,下断点,跟踪变量的内存赋值,一边操作一边解释:
“在二进制层面上,从前向后决定每一个二进制位上是0还是1,因此,我们可以从最高位向最低位,依次上1,看乘积结果是否大于目标数,如果大于目标数了,那一位就保留0,这样的情况下,我们上1就不用真的去计算乘法,而是将之前的结果,加上上1以前的数左移1所在位置那么多位的两倍,再加上上1的位置左移上1的位置……”
经过林鸿演示加解说,广永元这才恍然大悟,后面的青年也释然的点点头,他虽然知道大致原理,可是在细节方面还是有些地方没有理解,听了林鸿完整的解释这才了然。
也就是说,整个算法林鸿使用的都是二进制层面的运算,想不快都难,或者说,没有哪个程序可以比他的这个算法实现更快了。
仅仅花了二十来秒的时间就搞定第一关,并且答案如此优秀,这可是之前从来没有碰到过的。
林鸿本来还想着见识一下后面到底出什么题目,不过黄越在看到林鸿的这个程序之后,便直接宣布林鸿过关了,没有必要再继续闯关。
这个题目,实际上是黄越亲自出的,他当初给了一个标准答案,也是二进制层面的实现,可是两者相比之下,还是有着相当大的差距。
这虽然是最基础的东西,但正是这些东西最是能看清楚一个人的水平。
很显然,林鸿在这方面要比黄越更强,更别说,广永元之前对他说,林鸿还是一个破解大师。
最终,林鸿顺利地进入了他们的大本营,也就是一个相当大的大厅,不过在那里,摆了上十台各种品牌的电脑和服务器,看上去反而觉得有些拥挤。
大厅之中,有不少人,都是年轻人,他们见来了新成员,有的鼓掌,有的吹口哨,表示欢迎,不过,也仅此而已,例行欢迎仪式过后,他们便再次将注意力放在了自己的电脑显示器上。
黄越给林鸿重点介绍了两个人,一个叫袁乐邦,一个胖得连腰都弯不下的胖子,有着弥勒佛一样的笑脸,擅长的领域正是游戏破解,广永元最想挖的人便是他。
另外一个是阮飞舟,带着厚厚的黑框眼镜,他擅长的是硬件破解,在他的桌子上,摆满了各种电子元器件和最新的游戏机,包括SONY的PS游戏机和任天堂的GBA和NDS系列游戏机。
在阮飞舟的身上,林鸿看到了顾伟的影子。
他们这个地方,并不是公司,甚至连一个团队都称不上,只是基于兴趣聚集在一起,黄越为他们免费提供场所,而这里是鸭寮街,任何电器和元器件都能很方便地在这里找到。
他们是一群为技术而癫狂的技术宅。
第五百五十章 黄越的主业
黄越他们这些技术爱好者,一到周末的时候大部分人便会聚集在这里,交流讨论,实践着自己平时所想所思。
当然,平时的时候,有时间他们也会过来。不过他们当中大多数人都有另外的工作,只有在业余时间的时候,才有空跑到这里来。
黄越在众人当中威信给高,毕竟他是这个团体的发起者,同时还负责场地和其他一些东西的运作,为这个团体付出最多。
作为一个技术宅来说,能够安安静静地呆在一个角落做着自己喜欢的事情,的确是一种享受,尤其是,周围还有一群这样志同道合的人,故而这个地方在很多人心中,就如同是心中的圣地一样,大家都想要加入其中。
这个圈子,基本上代表了香G民间黑客的最高水准。
林鸿在这里呆了一会儿,和很多人都相处得非常不错。主要是他的涉猎范围极广,这些人现在正在做的事情,他基本上都有一定的精通,和对方有共同语言,能够和他们讨论技术,插上话,自然受欢迎。
在林鸿的启发下,很多人手头上卡了很久的项目都很快得到了解决。
林鸿涉猎之广,让大家都非常惊讶,并且他在这些领域中表现出来的技术水平,也相当的高超,比在场绝大多数人都要强悍。
在场的都是技术人员,最佩服的人便是比自己技术高的人,如同是武者佩服功夫比自己好的人一样,大家之间的相处都非常的直接和纯粹,并没有什么弯弯道道的。见林鸿是一个真正的高手,都对他表现出了极大的热情,纷纷找上他讨论悬而未决的技术问题。
林鸿仿佛又回到了之前和公司的那些人开会时的场景,很多人简直就将其当成了解题机器,只要是个问题都像林鸿询问,这让林鸿不由感到有些无奈。
最终还是黄越出面替林鸿解围,领着他来到