这个听起来好像有些不可思议——程序不都是字符组成的吗?你怎么可能把它们立体化?你以为是在盖房子吗?
刘放当然不是这个意思,他所说的立体化,是指把程序通过多方关联,使其具有更加立体的逻辑处理能力,如此一来,程序才能更加稳定,功能也会更加强大。
计算机是不认识数字和字母的,它只能识别通电和断电两种状态,通电就是1,断电就是0,这就是为什么计算机的本质语言是0和1的原因所在。
计算机是通过芯片来进行逻辑运算的,芯片上有成千上万个晶体管,对其中某些晶体管发出断电和通电的信号,计算机就能进行逻辑运算了,通电和断电的过程,其实就是逻辑运算的过程。
比如说数字1,在计算机的语言中是通过通电——通电——断电来表达的,转换成计算机语言,那就是110。
数字2是通电——通电——通电进行表达,转换成计算机语言,那就是111。
所以程序本质上全都是数字0和1的排列,更进一步的本质,其实是晶体管的通电和断电这两种状态。建立在这种机制上的所有程序,都需要十分严密的逻辑基础。
这里的逻辑基础,是指不能出现任何排列错误,否则的话计算机就会出错,得出错误的运算结果。
说了那么多,只想阐明程序所具有的两个特点,第一,程序从本质上来说都很刻板,不容许出现任何差错;第二,程序具有无数种可能,因为数字0和1的排列组合是无穷尽的。
第一点属于硬指标,只要编写程序,都必须要做到这点。第二点就不同了,在遵循第一点的情况下,你可以根据你的能力,开发出你想要的任何程序。
刘放现在考虑的就是这个问题:既然程序存在着无数种可能,为什么我就不能把它立体化呢?
很快的,刘放就有了一个初步的构想:想要把程序立体化,就必须把关联性发挥到极致。
关联性是什么?它是计算机汇编语言的重要组成部分。
比如用计算机出一道最简单的算术题,最少需要三行代码来表示,把它们转化成计算机语言,是这样的:
第一行:1+1=2是对的还是错的?字母A代表正确答案,字母B代表错误答案;
第二行:A=你回答正确;
第三行:B=你回答错误。
这么简单的一道题,计算机就需要三行代码来表达,如果是一百道题、一千道题,甚至
…。。本站若有图片广告属于第三方接入,非本站所为,广告内容与本站无关,不代表本站立场,请谨慎阅读。
Copyright © 2020 暮色书屋 All Rights Reserved.kk