趣读网 > 玄幻奇幻 > 大脑超聪明 > 第十四章,实机演练

第十四章,实机演练

    “好,上节课我们讲了计算机的常用进制以及怎么互相转换,现在我们实机演练一下。”

    一提到实机演练,机房里又是习惯性的哀嚎起来,毕竟要写一大堆和现实没有多少关联的英文代码,祝齐连代码里最基本的关键词都认不全,还得被迫用计算机程序的逻辑去想问题,或许这就是祝齐开学后便迅速摆烂的原因。

    “你们怎么又是这样呢?哎,哈哈……我们可是计算机系啊,你们高考填志愿的时候都乱选的专业嘛?没有心理准备呢?学计算机怎么能不写代码呢?”

    老师看着众人,说是这么说,但老师本人毕竟也是从大学生一步一步走过来的,大家心里的小九九他都能求出正态分布来。

    看到机房里众人的各色神态,他知道,这些人大部分都是不论专业来混个昌口大学毕业证的,能在毕业后找到一个坐在电脑前敲代码工作的都只有三分之一,能深入计算机科学的就没有几个了。

    说着,他又看了程羽一眼,这小子一路走竞赛上来的,聪明是聪明,但也可能大三大四被哪个互联网公司或高频量化基金截胡,高薪招过去,做些高大上但不高科技的工作。

    “都不怎么会吗?好,我再浪费时间,给你们讲讲逻辑,讲完再写。”

    说罢,这个已经略有秃顶的老师关掉了编译器,点开了画图板。

    祝齐一脸纠结,他的记忆力只能让他记住看到的画面,并不代表他就能理解,从高三后他的脑子就没出过门,他只能专注地看着屏幕,希望不会像之前考试一样看着题目干着急。

    “我们之前讲过,计算机底层的硬件,都要基于二进制的0和1进行逻辑运算,计算机上的一切数据也都是以二进制储存的,所以,理解二进制非常重要。而二进制的转换,也是最最基本的一个问题。”

    在画图板上写着,老师突然说道:“我们找个人来举个例子吧,那个祝齐,你过来。”

    “啊??”

    祝齐疑惑地走了过来,不就是抄了个作业吗,这老师对他有瘾了?

    “比如说,把66534转换成二进制,你该怎么算?”

    这道题不是程羽回答过吗?多少多少个1后面一个0来着?祝齐转念一想,肯定不是这么简单。

    “我先把66534除2,余0,得……33267,然后将33267再除二……”

    “嗯,不错。”老师夸着,让祝齐心中窃喜,全机房包括程羽都在看着呢。“……不过对代码来说还不够抽象,仔细想想,你的大脑是不是一直在把某数除2,取余数,除的结果再重复以上操作,直到这个数变成0没法再除,这样周而复始的循环?”

    “是的……老师,是不是说要用while循环?”

    好歹高中也能考进昌口大学,祝齐绞尽脑汁,终于回忆起了之前学到的一点代码。

    “不错不错,要怎么靠循环转换成二进制,并在计算机里输出?”

    “我……我把每次取的余数输出,就是二进制结果了。”

    “等等,就拿66534来举例子,你怎么输出?用更抽象一些的,接近代码的逻辑来表达。”

    “66534除2,余0,输出0,得33267,接着33267除2余1,输出1……”

    祝齐一边说,老师一边在绘图板上写。

    “停,看出问题了没?”

    老师说着,在画图板的右边写上了01,与计算式连上了箭头。

    “呃,没有?”

    “非常明显的问题是,人类的数字书写方式是从左到右,你取余结果是0,但为什么把0放在一行数的开头?”

    老师将这个箭头打上了大大的错号。

    “哦!哦~那我应该把0在最后输出。”

    “怎么做?”老师没有留给祝齐喘息的机会,连续问道。

    “我从左往右先写最后面的余数,然而再向前输出,最后输出这个0。”

    “想想你大脑的思维,再想想代码的逻辑。你是从前往后进行计算的,你怎么在输出了最后的余数后,还能记住前面的余数呢?”

    “我……”祝齐本来想说他什么都能记得住,可是机房这么多人看着呢,他还是住嘴了。“我会列式计算,每一步都写出计算式,算出取余结果。”

    “好,这是写出来的,在计算机里,你该把结果写在哪里?每一步都要精细到具体代码。”

    “呃,我用变量来存?”

    “没错,对于这个问题呢?”

    老师步步紧逼,让祝齐有些头晕。

    “我把每次取余的结果都用变量存起来,从前向后存,然后再从后往前输出。”

    “对,就是这样,你搞懂了算法的空间概念,太棒了,大家给祝齐鼓掌。”

    老师率先拍起手来,其他同学愣了片刻,也都纷纷跟着鼓起了掌,包括最前排的程羽,也一边点头一边鼓着掌。

    “祝齐,不错,你回去吧。”老师拍拍祝齐的肩膀,这个人形讲课教具还挺顺手。

    祝齐没想到他还真跟得上节奏,莫非记忆力变好了,理解力也变强了?回想着刚刚紧迫的回答,祝齐还有点光荣。

    “同学们,逻辑已经给你们梳理清楚了,现在就利用我们的编程工具,写一个将十进制数转化为二进制的程序。现在的计算机拥有难以想象的计算力,该体验下了。我来写一个数字,你们看好。”

    老师一边说,在绘图板上写着:“1765293615……十位数,十七亿,嗯,没有溢出。”

    “啊?这么大?”

    “同学们,这叫大吗?实际计算量可能只消耗了几百次,对你们的计算机来说,它还没睡醒呢,计算结果就出来了。赶紧写代码吧,把答案报出来就可以下课。”

    愁眉苦脸地看着屏幕,祝齐疯狂回忆着刚才老师讲的逻辑,循环,存变量……该怎么写呢?

    按老师所说,把这个十几亿除2,取余,用一个变量存这个取余的结果,接着再用一个变量存除2的结果,然后循环下一步,最后从后向前输出所有余数。

    那就是说……!

    猛然间,祝齐大脑一震,仿佛黑客帝国一般,注意力被一长串全部由0和1组成的数字占据。

    1101001001110000011111000101111

温馨提示:按 回车[Enter]键 返回书目,按 ←键 返回上一页, 按 →键 进入下一页,加入书签方便您下次继续阅读。