The Wayback Machine - https://web.archive.org/web/20221025114124/https://baike.sogou.com/kexue/d11083.htm

二进制代码

编辑

二进制代码表示文本、计算机处理器指令或使用双符号系统的任何其他数据。使用的双符号系统通常是二进制数系统中的“0”和“1”。二进制代码为每个字符、指令等分配二进制数字的模式,也称为位。例如,八位二进制字符串可以代表256个可能值中的任何一个,因此可以代表各种不同的项。

在计算和电信领域,二进制代码用于将如同字符串这样的数据编码成位串的各种方法中。这些方法可以使用固定宽度或可变宽度的字符串。在固定宽度的二进制代码中,每个字母、数字或其他字符由相同长度的位串表示;该位串被解释为二进制数,通常以八进制、十进制或十六进制表示法显示在码表中。它们有许多字符集和字符编码。

被解释为二进制数的位串可以被转换成十进制数。例如,小写字母a,如果由位串01100001表示(如标准ASCII码所示),也可以表示为十进制数“97”。

1 二进制代码的历史编辑

戈特弗里德·莱布尼茨(Gottfried Leibniz)

现代二进制数系统是二进制代码的基础,由戈特弗里德·莱布尼茨(Gottfried Leibniz)于1689年发明,这出现在他的文章《算术的解释》(Explication de l ' arithmétique Binaire)中。整个标题被翻译成英文的“二进制算术解释”,它只使用了字符1和0,并对其实用性和对中国古代人物伏羲(Fu Xi)的启示作了一些评论。[1] (1703)。莱布尼茨的系统使用0和1,就像现代二进制数字系统一样。莱布尼茨(Leibniz)通过法国耶稣会士约阿希姆·布韦(Joachim Bouvet)遇到了《易经》,并着迷地注意到易经的卦是如何对应于从0到111111的二进制数的,从而得出结论即这种映射证明了中国在他所钦佩的哲学数学领域取得了重大成就。[2][3] 莱布尼茨(Leibniz)把卦看作对他自己宗教信仰普遍性的肯定。[3]

二进制数字是莱布尼茨神学的核心。他认为二进制数象征着基督教的无中生有或凭空创造的观念。[4] 莱布尼茨(Leibniz)试图找到一种将逻辑的口头陈述转换成纯粹数学陈述的系统。在他的想法被忽视后,他偶然发现了一个经典的中文书,叫做《易经》或《周易》,它使用了一种二进制代码。这本书证实了他的理论,即生命可以被简化或简化成一系列简单的命题。他创造了一个由0和1组成的行组成的系统。在这期间,莱布尼茨(Leibniz)还没有发现这个系统的用途。[5]

在莱布尼茨(Leibniz)之前的二元体系也存在于古代。莱布尼茨遇到的上述《易经》可以追溯到公元前9世纪的中国。[6] 占卜用的《易经》的二元体系是以阴阳二元性为基础的。[7] 带有二进制音调的狭缝鼓被用来编码非洲和亚洲的信息。[7] 印度学者平加拉(Pingala )(大约公元前5-公元前2世纪)在他的《钱德什图拉姆》中开发了一种描述韵律的二元体系。[8][9]

乔治·布尔(George Boole)

1450年以前,法属波利尼西亚曼加雷瓦岛的居民使用混合二进制-十进制系统。[10] 在11世纪,学者和哲学家邵雍(Shao Yong)发明了一种对应卦的排列方法,尽管是无意的,卦序对应于0到63,用二进制表示,阴为0,阳为1,最上面是最低有效位。排序也是从两个元素集中选择的元素的六元组的字典顺序。[11]

1605年,弗朗西斯·培根(Francis Bacon)讨论了一种系统,通过这种系统,字母表中的字母可以被简化为二进制数字序列,然后它可以被编码为任何随机文本中几乎看不见的字体变化。[12] 对于二进制编码的一般理论来说,重要的是,他补充说,这种方法可以用于任何对象:“只要这些对象只能有双重差异;如钟声、小号、灯和火把、火枪的轰鸣声以及任何类似性质的工具”。[12]

乔治·布尔(George Boole)在1847年发表了一篇名为《逻辑的数学分析》的论文,描述了逻辑的代数系统,现在被称为布尔代数。布尔的系统是基于二进制的,一种是-否,开-关的方法,包括三个最基本的操作:“与”、“或”和“非”。[13] 直到麻省理工学院的研究生克劳德·香农(Claude Shannon)注意到他所学的布尔代数类似于电路,这个系统才投入使用。香农(Shannon )在1937年撰写了他的论文,实现了他的发现。香农(Shannon )的论文成为二进制代码在计算机、电路等实际应用中的起点。[14]

2 其他形式的二进制代码编辑

道教八卦

位串不是二进制代码的唯一类型。一般来说,二进制系统是只允许两种选择的任何系统,如电子系统中的开关或简单的真或假测试。

2.1 盲文

盲文是一种被盲人广泛使用的通过触摸来读写的二进制代码,以其创造者路易·布莱叶(Louis Braille)的名字命名。该系统由六个点构成的网格组成,每列三个,每个点有两种状态:凸起或不凸起。凸起点和扁平点的不同组合能够代表所有字母、数字和标点符号。

2.2 八卦

八卦是风水、道教宇宙学和易经研究中使用的图表。八卦由八个卦组成;bā意为8,guà意为占卜图形。同样的词也用于64卦。每个图形由三条线(爻)组合而成,要么是断开的(阴),要么是未断开的(阳)。八卦之间的关系表现为两种排列,一种是原始的“先天”或“伏羲”八卦,另一种是显化的“后天”或“文王”八卦。[15] (也见《文王序》第64卦)。

3 编码系统编辑

3.1 ASCII码

美国信息交换标准代码(ASCII)使用7位二进制代码来表示计算机、通信设备和其他设备中的文本和其他字符。每个字母或符号被分配一个从0到127的数字。例如,小写“a”由1100001表示作为一个位串(十进制为“97”)。

3.2 二进制编码的十进制

二进制编码的十进制(BCD)是整数值的二进制编码表示,使用4位半字节来编码十进制数字。四个二进制位最多可以编码16个不同的值;但是,在BCD编码的数字中,每个半字节中只有前十个值是合法的,然后将十进制数字编码为零到九。其余六个值是非法的,可能会导致机器异常或未指定的行为,具体取决于计算机对BCD算法的实现。

在商业和金融应用中,在浮点数复杂的舍入行为不合适的情况下,BCD算法有时优于浮点数字格式。[16]

4 二进制代码的早期使用编辑

  • 1875:埃米尔·鲍多(émile Baudot)“在他的加密系统中添加二进制字符串”,这最终导致了今天的ASCII。
  • 1884年:划线机,在使用了被二进制编码的滑轨后,其矩阵被分类到相应的通道。
  • 1932年:韦恩-威廉姆斯(C. E. Wynn-Williams)的“两个尺度”计数器。[17]
  • 1937年:艾伦·图灵(Alan Turing)机电二进制乘法器。
  • 1937年:复杂计算机[17]中的乔治·斯蒂比兹(George Stibitz)“多余三”代码。[17]
  • 1937年:阿坦纳索夫——贝里(Atanasoff–Berry)电脑。[17]
  • 1938年:康拉德·楚泽(Konrad Zuse)Z1

5 二进制的当前用途编辑

大多数现代计算机对指令和数据使用二进制编码。CD、DVD和蓝光光盘以二进制形式数字化表示声音和视频。使用脉冲编码调制和IP语音网络在长途和移动电话网络上进行数字电话呼叫。

6 二进制代码的权重编辑

二进制代码的权重,如恒权码表[18] 中所定义的,是编码所代表的字或序列的二进制字的汉明权重。

参考文献

  • [1]

    ^Leibniz G., Explication de l'Arithmétique Binaire, Die Mathematische Schriften, ed. C. Gerhardt, Berlin 1879, vol.7, p.223; Engl. transl.[1].

  • [2]

    ^Aiton, Eric J. (1985). Leibniz: A Biography. Taylor & Francis. pp. 245–8. ISBN 978-0-85274-470-3..

  • [3]

    ^J.E.H. Smith (2008). Leibniz: What Kind of Rationalist?: What Kind of Rationalist?. Springer. p. 415. ISBN 978-1-4020-8668-7..

  • [4]

    ^Yuen-Ting Lai (1998). Leibniz, Mysticism and Religion. Springer. pp. 149–150. ISBN 978-0-7923-5223-5..

  • [5]

    ^Gottfried Wilhelm Leibniz (1646-1716).

  • [6]

    ^Edward Hacker; Steve Moore; Lorraine Patsco (2002). I Ching: An Annotated Bibliography. Routledge. p. 13. ISBN 978-0-415-93969-0..

  • [7]

    ^Jonathan Shectman (2003). Groundbreaking Scientific Experiments, Inventions, and Discoveries of the 18th Century. Greenwood Publishing. p. 29. ISBN 978-0-313-32015-6..

  • [8]

    ^Sanchez, Julio; Canton, Maria P. (2007). Microcontroller programming: the microchip PIC. Boca Raton, Florida: CRC Press. p. 37. ISBN 978-0-8493-7189-9..

  • [9]

    ^W. S. Anglin and J. Lambek, The Heritage of Thales, Springer, 1995, ISBN 0-387-94544-X.

  • [10]

    ^Bender, Andrea; Beller, Sieghard (16 December 2013). "Mangarevan invention of binary steps for easier calculation". Proceedings of the National Academy of Sciences. 111 (4): 1322–1327. doi:10.1073/pnas.1309160110. PMC 3910603. PMID 24344278..

  • [11]

    ^Ryan, James A. (January 1996). "Leibniz' Binary System and Shao Yong's "Yijing"". Philosophy East and West. 46 (1): 59–90. doi:10.2307/1399337. JSTOR 1399337..

  • [12]

    ^Bacon, Francis (1605). "The Advancement of Learning". London. pp. Chapter 1..

  • [13]

    ^What's so logical about boolean algebra?.

  • [14]

    ^Claude Shannon(1916-2001).

  • [15]

    ^Wilhelm, Richard (1950). The I Ching or Book of Changes. trans. by Cary F. Baynes, forward by C. G. Jung, preface to 3rd ed. by Hellmut Wilhelm (1967). Princeton, NJ: Princeton University Press. pp. 266, 269. ISBN 978-0-691-09750-3..

  • [16]

    ^Cowlishaw, Mike F. (2015) [1981,2008]. "General Decimal Arithmetic". IBM. Retrieved 2016-01-02..

  • [17]

    ^Glaser 1971.

  • [18]

    ^Table of Constant Weight Binary Codes.

阅读 548
版本记录
  • 暂无