二进制和计算机

转载 2007年10月14日 23:51:00

二进制和计算机

题目:《周易》、二进制和计算机
  大家知道,在电子计算机中,信息、指令、状态都是用二进制数表示的,运算、处理也是用二进制数进行的。随着计算机的普及,二进制愈来愈成为人们津津乐道的话题。
   在数学史上,二进制数系是和德国伟大的数学家Leibniz(1646-1716)的名字联系在一起的。现在流行着一种时髦的说法,说二进制来源于中 国,因为《周易》中早已有了二进制。还有人进一步发挥说,既然二进制来源于中国,那么,计算机的老祖宗也应该在中国。某大报在头版头条论述所谓“留给二十 一世纪的悬念”的文章中就说,Leibniz受《周易》启发,发明了二进制和计算机。
  这到底是怎么回事呢?
  数学上的进位制本来是人们为了计数和运算的方便而约定的,约定逢二进一,就是二进制,约定逢三进一,就是三进制,依次类推。不同的进位制,除了繁简的差异外,没有任何本质上的区别。
   古人多以手指计数,人有十个指头,自然逢十进一,这就形成了人们最熟悉的十进制。我国的成语“屈指可数”,说的就是这回事。可以设想,如果人只有八个指 头,逢八进一,则人们熟悉的进位制必然是八进制。一个很有力的证据是:考古发现,三千多年前生活在热带丛林中的马雅人曾使用过二十进制,这显然与他们同时 用手指与脚趾计数有关。
  虽然人们对十进制最熟悉,用得最多,但十进制并不是天然合理的,甚至不能算是一个好的进位制。瑞典历史上有一位有远见的国王就说过,从日常应用的角度看,十二进制比十进制更方便。他生前曾设想过,在他管辖的范围内废止十进制,而代之以十二进制。
   曾对人类文明作出过卓越贡献的Leibniz则站得更高,看得更远。他从二进制的简洁和优美洞察到,不仅可以用二进制方便地进行数的表示和运算,而且还 可以用二进制方便地表达集合代数和逻辑代数,进行集合运算和逻辑运算。他特别提倡二进制,并试图以此为工具构建一种通用的数理语言。
  总之,二 进制是不需要谁来发明的,需要的是从顺手捻来的自然数的二进制表示出发,建立相应的完整的二进制数系及其运算规则。数学史明确记载说:Leibniz早在 1679年就已经完成了这一工作。仅仅是在二十多年后的1701年,Leibniz才通过到中国来的传教士,看到了《周易本义》中的所谓伏羲六十四卦图。 Leibniz看到后很兴奋,认为所谓伏羲六十四卦图可以用二进制来解释。他赞叹道:“这恰是二进制算术”,并说:“在伏羲的许多世纪以后,文王和他的儿 子周公,以及文王和周公五个世纪以后的著名的孔子,都曾在这六十四个图形中寻找过哲学的秘密”。他惊呼几千年不能很好被理解的奥秘被他理解了。很显然,不 是Leibniz看了《周易》后才发明二进制的,而是他试图用二进制来解释所谓伏羲六十四卦图。
  这里需要特别指出的是,所谓伏羲六十四卦图, 与传说中的伏羲并无关系,它实质上是我国宋代理学家邵雍(1011-1077)创造的,是《周易》中本来没有的。这在《周易本义》的图说中就能看出。显 然,Leibniz上当受骗了。那么,《周易》中到底有没有二进制思想呢?可以肯定地说:没有。不仅易经中没有,易传中也没有。
  易经中六十四 卦的排列次序,即所谓乾、坤、屯、蒙、需、讼、师、比等,是很混乱的。在考古发现的易经古本中,六十四卦的排列次序就完全不同,但也同样是很混乱的。这些 排列次序均与二进制无关。易传中的序卦是专门解释六十四卦的排列次序的,但多为牵强附会之同,连自圆其说都谈不上,根本没有二进制的影子。易经将六十四卦 划分为三十二对,其中占大多数的二十八对,其相对两卦的六爻是彼此上下颠倒的,这与二进制毫无共同之处。易传说:“易有太极,是生两仪,两仪生四象,四象 生八卦。”这似乎是《周易》中与二进制有关的话。但这实际上只是一种原始的一分为二的思想,与二进制仍然没有必然的联系。易传在讲述八经卦时,分八经卦为 阴阳两类:乾、震、坎、艮,交画为三,为五,为奇致,故称阳卦;坤、巽、离、兑,爻画为六、为四,为偶数,故称阴卦。这种划分与太极、两仪、四象、八卦的 一分为二思想格格不入,这里的所谓的奇偶与二进制数的奇偶也是风马牛不相及的。归根结底,《周易》中是找不到二进制思想的。
  不可否认,邵雍所 创造的六十四卦图确实有朴素的二进制思想。邵雍是一个素养较高的理学家,他有许多值得称赞的创造。他发展易传中太极、两仪、四象、八卦的一分为二思想,并 将其贯彻始终。他按照这种思想,重新排列出八经卦的次序:乾、兑、离、震、巽、坎、艮、坤,进而依次重之,排列出六十四卦的次序。邵雍以伏羲的名义,画出 了所谓伏羲八卦次序图、伏羲八卦方位图。伏羲六十四卦次序图、伏羲六十四卦方位图。这是《周易》中原来没有的崭新的图,也就是Leibniz所看到的图。 因此,Leibniz对伏羲以及文王、周公、孔子的赞叹确系张冠李戴。邵雍还画过所谓天地始终之数图,以及许多其他的图,并引入辰、日、月、岁、世、运、 会、元等时间单位,交替用十二进制和三十进制,构成一个复杂而规律的计数系统。但是,我们不得不指出,邵雍虽然提出并交替使用了十二进制和三十进制,却从 来没有以任何方式提出或暗示过二进制计数法。肯定地说,邵雍在他的六十四卦图中所蕴涵的二进制思想是不自觉的。邵雍所关心的是如何在他的宇宙模式下把万事 万物纳入数的范畴,因而,他不可能在数学上再前进一步。
  还必须指出,二进制的产生与计算机的产生并没有必然的联系。1794年, Leibniz设计并制造了人类有史以来的第一台能进行四则运算的机械计算机。尽管:Leibniz早在十五年前就建立了完整的二进制数系及其运算规则, 但他的机械计算机仍然用的是十进制。另外,如果把不同数位上的不同数字视为不同状态,那么表示某一范围的数时,不同进位制所需的状态数各不相同,从而有优 劣之分,其中二进制并不是最优的,三进制才是最优的。从计数和运算的角度看,各种进制并无区别。电子计算机采用二进制,是因为二进制运算规则简单,并且容 易在物理上实现。由此看来,即使邵雍确实为《周易》注入了朴素的二进制思想,我们也是无法把《周易》与计算机直接联系起来的。
  我们的祖先创造 了灿烂的古代科学文化,这当然是应该引以自豪的。但是,我们也不得不承认,由于我们的固步自封,欧洲文艺复兴以后,我们的科学文化就一步一步、愈来愈远地 落在列强之后,这正是我国近代史上屈辱、挨打的重要原因之一。我们要汲取血的历史教训,决不可重蹈覆辙。对于祖先创造的古代科学文化我们要实事求是地取其 精华,弃其糟粕,继承之,改造之,发展之,切不可夜郎自大,沾沾自喜,躺在遗产上睡大觉,切不可盲目地以为我们的祖先把一切道理都说清了,切不可自欺欺人 地把现代科学的成就硬归功于我们的祖先。科学文化的发展是有其规律的,违背它,或者超越它都是错误的。我们不能苛求我们的祖先。在宣传我国古代灿烂的科学 文化时,一定要尊重历史,切不可随心所欲地说过了头。因为,即使是真理,如果说过了头,也会变成谬误。

什么是二进制数 为什么用二进制数表示计算机信息?

想必大家都知道计算机内部是由 IC 这种电子部件构成的。CPU(微处理器)和内存也是IC的一种。IC有几种不同的形状,有的像一条黑色蜈蚣,在其两侧有数个乃至数百个引脚;有的则像插花用的针盘,引脚在IC...
  • turingbooks
  • turingbooks
  • 2015年05月15日 17:01
  • 5455

为什么计算机采用二进制而不是八进制或者十六进制

电子计算机能以极高速度进行信息处理和加工,包括数据处理和加工,而且有极大的信息存储能力。数据在计算机中以器件的物理状态表示,采用二进制数字系统,计算机处理所有的字符或符号也要用二进制编码来表示。 用二...
  • RIPwangh
  • RIPwangh
  • 2015年08月21日 13:59
  • 3157

计算机为什么使用二进制,加减法计算为什么使用补码,补码到底是怎么回事?

计算机为什么使用二进制这是因为二进制在计算机中的表示与计算比十进制和其他进制要简单的多,因为状态少,只有0和1。 计算机计算思维与人类的计算思维不一样,人计算较复杂的事务是通过公式或者算法等来计算...
  • OneGoal
  • OneGoal
  • 2016年11月30日 11:56
  • 2674

计算机,圆,十进制二进制转换

  • 2011年02月09日 19:25
  • 156KB
  • 下载

计算机就一定要采用二进制吗?

我们都知道,计算机采用二进制有以下几点原因: 1:物理上容易实现。如,高低电平表示,脉冲的正负表示; 2:加减运算规则简单。 3:与逻辑值“0”和“1”。 4:容易实现存储,如凹坑,带表1,原...
  • lzf824446
  • lzf824446
  • 2011年09月13日 00:07
  • 3029

【计算机】二进制(Binary)与文本(ascii)传输方式区别

FTP可用多种格式传输文件,通常由系统决定,大多数系统(包括UNIX系统)只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,...
  • yaerfeng
  • yaerfeng
  • 2012年03月06日 10:32
  • 3537

计算机中为什么要用二进制?

计算机中为什么要用二进制?   电脑使用二进制是由它的实现机理决定的。 我们可以这么理解: 电脑的基层部件 是由集成电路组成的, 这些集成电路可以看成是一个个门电路组成, (当然事实 上没有这么简单...
  • leeleo18
  • leeleo18
  • 2013年11月08日 10:53
  • 585

计算机中的二进制与位运算

参考文档 http://blog.csdn.net/xiaochunyong/article/details/7748713 1、首先谈谈是如何定义原码、反码、补码的 原码:原码:一个正数,按照绝对...
  • u012316953
  • u012316953
  • 2016年09月02日 15:42
  • 1170

在低位优先的计算机中使用C++读取高位优先的二进制文件的方法

最近在跟老师做小学期项目,用到了mfcc。他们提供的工具生成了一个二进制频谱序列,并且提供了matlab方法对该文件进行读取,然而matlab用的不熟,想用cpp去解决之后的一系列问题,所以只能靠看m...
  • friskit
  • friskit
  • 2011年08月23日 13:20
  • 3597

获取计算机在内存中的二进制表示

计算机的移位操作(补码表示): 正数左移右移都是补0 负数:左移补0右移补1 0:不变 计算机的移位规则是由计算机的编译器决定的。在内存中负数用补码表示。如何得到补码就是取反加一符号位...
  • bitzhuxb
  • bitzhuxb
  • 2013年03月05日 10:15
  • 1586
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二进制和计算机
举报原因:
原因补充:

(最多只允许输入30个字)