第五章疯狂的0与1(3)——发现0与1的隐示
下午还要考语文,可是甘雪凝觉得如果不解决这个疑问的话,下午的语文考试她很可能会用二进制来写作文。
校园里静悄悄的,绝大多数人仍在考场里奋笔疾书,还有一个多小时才是数学考试的正式结束时间。
雪凝飞快地从车棚里取出自行车,以兔子的速度朝家骑去。
她狂奔进房间,把昨天用C++、C、Java、Python、Pascal、Basic、AS3七种语言写的随机小程序拷贝进自己的平板电脑里,然后带着平板电脑,呼地骑上车出门。
离考试结束还有半小时的时候,雪凝气喘吁吁地回到了学校,在进出校门必经的林荫大道旁找了个石凳坐下。学校的柠檬花花期不如雪凝家的极夜雪花期长,此时林荫道旁的雪白花簇已谢,结出了小而绿的柠檬果实。雪凝坐在几丛探出的柠檬果之间,等待第一批考试结束出来的学生。
谁也好,她要找人帮她个忙……
远远地,终于看到一个同学的身影从林荫道的尽头转出来。雪凝连忙站起身,捧着电脑就冲过去。太好了!总算还有人提前交卷!要是大部队一涌而出,雪凝还真不方便去随便拦人。
急匆匆地冲到一半时,雪凝“刺溜”刹住了步子,差点左脚绊到右脚。
那个逐渐走近的身影清晰地出现在视野里:高高大大,穿着黑色T恤和米色运动裤,书包随意而潇洒地撂在宽阔的肩膀上——是郑文宇!
倘若换了其他任何一个人,认识的、不认识的,雪凝都会毫不犹豫地迎上去,反正只是请人家帮个小忙。可是郑文宇……雪凝张口结舌。郑文宇是市实验高中的明星学生,长得帅,学习成绩好,篮球打得棒,还是校学生会主席——那就是传说中的“校草”。一年以来,雪凝听黄珊珊以及女生甲乙丙丁对郑文宇的花痴讨论听得耳朵上了茧,还跟着黄珊珊看了一场又一场郑文宇的球赛。可那些只是远远地听,远远地看,从善如流,雪凝从没想过自己有一天要跟郑文宇实际说话。拜托,她只是棵12岁的豆芽菜嘛!而且雪凝十分清楚,郑文宇根本不认识她们中的大多数人,老是有女生跟她搭讪,他也会很烦吧。
雪凝尴尬极了,很想就这么抱着电脑装成没事人一样从郑文宇身边溜过去。然而显然她的演技不怎么样,郑文宇已经注意到她捧着电脑没头没脑地冲过来,礼貌地停下脚步。
不要这样啊!这样我溜过去就变成不礼貌的无视了!雪凝额头冒汗。
“哦,请请问,能不能请你帮个忙?”雪凝硬着头皮开口,结结巴巴一连蹦出三个“请”,随后又赶忙解释,“我在这边等了一段时间,除了你没有人提前交卷出来……”
“考我们学校的‘魔鬼数学’卷子,我最多只能提前15分钟出来,”郑文宇笑了笑,“你提前这么长时间交卷,一定是甘雪凝同学?”
雪凝大为惊骇:他认识我?
“是什么事情要帮忙?”郑文宇问。
“哦哦,这个。”雪凝嗖地把平板电脑塞过去,“桌面上的这几个小程序,你能帮我运行看看吗?”
“随机抽数?”
“是的。”
“这7个程序……编程语言不同,都是一个内容啊。”不愧同为数学提前交卷的人物,反应相当快。
“是的,但是我自己运行的时候有点奇怪,我想请自己以外的人试试。”
林荫大道两旁的鹅掌楸虽然蔚然如盖,盛夏的阳光依然透过叶与叶的缝隙滚烫地照在人身上。郑文宇单手把自行车提上过道放好,雪凝跟着他走到道边更阴凉的浓荫里。
他真高呀,雪凝想,其实缩在他的影子旁边就不会被晒到……
两分钟之后——
“我在每个程序里随机抽了十个数,运行结果是这样。”郑文宇把平板电脑递还给她。
雪凝接过来——
“你随机出来也全是0和1?”瞅清屏幕,雪凝不禁叫出来。
“什么?”郑文宇已经转身去拿自行车,闻言扭回头来。
雪凝把电脑递过去,郑文宇接过仔细瞧了瞧:“你是不是看错了?我在C语言编的程序里随机出来的数是‘87741741912368454984’,在Python编的程序里随机出来的数是‘8245522965743996816’,没有0,也没有1。”
“咦?”雪凝再次从他手里拿过电脑。这回郑文宇绕到她的身后,越过她的肩膀朝屏幕瞧。
两个人都惊住了:只见平板电脑在从郑文宇手中脱手、完全被雪凝握住的一刹那,各个程序窗口随机出来的数字同时变换成:“0,0,0,1,0,1,0,0,1,1”、“0,0,0,1,0,0,1,1,1,1,0,0”……
“这个……有意思。”郑文宇怔了一怔,在她身后开口,“你设计了一个类似于人机识别的程序吗?会随着持有电脑的人不同,显示不同的内容?”
“唔?”人机识别程序?她没有编这样的代码呀!“可……可以请你再试一次吗?我想确定一下……”雪凝怯生生地问。
郑文宇似乎升起了一些兴趣,不再急着拿车走人,将电脑又接了过去。雪凝试图绕到他身后看屏幕,可是郑文宇太高了,就算跳起来,也无法越过他的肩膀看到屏幕上的字。郑文宇侧过身子,把屏幕斜过一个角度低低地拿在左手上,雪凝这才从旁边看到了。
尽管已有心理准备,两人仍是微愕:随着雪凝的手完全脱离平板电脑,程序窗口中的数字又同时起了变化,从一堆0和1,重新变成“87741741912368454984”,“8245522965743996816”……
郑文宇朝那些数字盯视了好几秒,忍不住打开几个程序的源代码,一行一行地查看。查看完3个程序的源代码,他有些不敢置信地抬起琥珀色的眼睛:“……真想不到,源代码这么干净,一点也看不出‘埋伏’在哪里。”
“呃……”因为本来就没有“埋伏”啊!
“这种技术如果用来做木马,就太可怕了,”郑文宇笑着说,“恐怕没有杀毒软件能查出来。你发明了了不起的编码技术。”
“……我是无意中发现有问题,所以才想找人来试验一下。”
“很荣幸能帮你做这个试验。”郑文宇把电脑递还给她,“这种编码技术相当有意思,也有应用前景。”
雪凝接过电脑,有些不敢相信,仰脸看他:“可是没有代码支撑的内容变换,听起来都是天方夜谭吧?你认为这可能实现?”
“要是别人拿这个来要我试,我一定说他是骗我玩的。”郑文宇微笑,“但是你拿出来的话……我想是真的吧,天才小学霸。”郑文宇向她挥挥手,把自行车一提,拎羽毛一样拎下路牙。
“没有代码支撑的内容变换”——这种违背计算机基本常识的事情,郑文宇居然认为可能实现?我在其他同学的心目中到底是个什么怪物呀?雪凝呆若木鸡。
她慢慢地走到自己放自行车的地方,给平板电脑套上绒布袋,倚在车篓里。“不过,没想到郑文宇的性格挺随和的,一点没架子。”她心想,将车推下路牙。
考试结束的铃声响起,很快,林荫大道将被喧哗的人流充满。雪凝抓紧时间推车出校门。对于“0和1之谜”,她心中已经隐隐有了一个猜测。
——那些随机程序,在孙老师和郑文宇手中都运行正常;唯独在她自己手中运行不正常,只能随机出0和1。
这说明什么?
雪凝清楚,世界上不存在没有代码支撑的内容变换。
既然变幻了,原因又不在代码里,在哪里呢?
“那就只能在你身上咯。”脑海里有一个声音低低地指出。
“如果问题出在我身上,”雪凝顺着这个思路想下去,“那原因只会是——”
雪凝边骑车,边在脑海中仔细回忆自己随机出来过的0、1组合。
010100110100111101010011……?
0001010011、0001001111……?
她心中一懔,脸色熬白,猛地刹车。
“小姑娘,怎么骑车的!哪能这样突然刹车!”背后传来刺耳的刹车声和大叔恼火的喊叫。雪凝连忙扭头道歉,狼狈地把自行车推到路边一家冰淇淋店的阳伞下。
一骨碌坐到阳伞下滚烫的塑料凳子上,她的心咚咚直跳。
“010100110100111101010011”这组数,如果把它们每8个数字分为一组,看成计算机的二进制阿斯克码,就是01010011、01001111、01010011。其中,第一组和第三组完全一样!
以雪凝的心算能力,她很快意识到这三组二进制数字转换为十进制,是83、79、83。而这三个数,分别对应阿斯克码表里的字母S、O、S!
以这个思路去看,郑文宇用C语言和Python编的两个程序随机出来的10个数,到雪凝的手里,变幻成“0001010011、0001001111”,去掉前两位0,后8位也恰巧是代表阿斯克码表里的字母S和O!
那么,其实她随机出来的0和1,全都代表——SOS?
SOS是国际通用的求救信号!
难道有什么力量,在通过这种方式向她求救?
盛夏的烈日犹如火云泄地,雪凝的背上却沁出一丝冷汗。