从二进制到现实世界的模拟

目录导航

计算机所有都是人所创造的,计算机从二进制的01两个数字到构造互联网这么, 一个复杂的网络。几乎可以对这个现实世界初步的模拟了。其构造过程的一个 基本原理就像道家所说的:太极生两仪,两仪生四项,四项生八卦。如此循环 递进,即可为无限了。

数字世界的第一步:实现数学计算

计算机首先用电流的有无模拟出01两个数字,然后,通过磁体记录保存这些数据。 然后数字世界的制造就此开始了,CPU需要作的第一步是实现数学的所有计算,计 算机最初是用于计算的。数学的历史是从代数开始的,计算机也重复了数学发展 的道路。数学本身可以实现二进制到十进制的转换,然后就可以实现加减乘除的 基本运算。然后,数学家实现了基本运算对其他所有运算的模拟,当然计算机的 运算是有误差的,计算机的机械属性决定了,它只能模拟一部分数,尽管如此, 我们还是可以控制计算机的误差在小到可以忽略的范围。有一门专门的学科,数 值算法,专门研究计算机运算。

这里来一个简单的计算机模拟过程,假设我们有一个一块磁盘,只有16位二进制 的空间,表示如下

二进制加法

  00000000 00000000

初始化的时候全部是0,然后我们来计算2+5;用小学的计算方法看看

  一个简单的数字用一个字节来表示就行,一个字节是八位二进制,最大的数字256
  由于需要使用第一位来表示负号,所以,8位的实际只有7位表示数值,最为128
    00000010                    二进制数字2的计算机表示
  + 00000101                    二进制数字5的计算机表示
  --------------
    00000111
  

二进制乘法

乘法在二进制中也可以和转换为加发的,有了乘法,除法本身也一种乘法:除以一个数 等于乘以一个数的倒数。乘法的二进制可以简单的通常运算的移位然后用加法来计算。

  乘法十进制3×5 
   00000011                     十进制3
  ×00000101 
  -------------
   00000011
  +00001100                    这里的算法和十进制是一样的,1*1=1,1*0=0,在计算机
  -------------                贮存中,我们只需要对数字进行相应的位移即可。 
   00001111

语言符号编码

第一代的计算机是用于计算的,当然,我们现实并不需要那么复杂的计算。计算机开始 寻找更丰富的表达形式。数字作为一种抽象的符号,它和语言文字符号的意义是有相同 之处的。数学有一套运算方法,一套基本数学字符(十进制的0-9),还有运算符号。这 运算方法和运算符号可以统称为语法规则,而基本内容符号可以是

comments powered by Disqus