中国古老的阴阳八卦,你知道几个?

 2024-01-08 06:03:25  阅读 0

首先我们看一下《易传·系辞上传》,“易有太极,生二礼,二礼生四像,四像生八卦”。 从下面这张图就很容易理解了:

如果你细心的话,你可能会发现,这是一个二元级数,不是1、2、4、8吗?

再看《道德经》:道生一,道生二,二生三,三生万物。 这段话其实和《易传》里的很相似,意思是:

道是独一无二的。 道本身含有阴阳二气。 阴阳二气相交,形成和谐状态,万物得以产生。

来自理工科背景的我很容易认为阴阳就是0和1。阴阳的交集,即0和1的组合,可以产生一切(计算机中的一切) 。 很多书上都说这是古人的宇宙起源理论或者是简单的哲学概念,但为什么它和计算机中的二进制原理如此相似、如此巧合呢? 2.过去的信息传输 在电话和计算机出现之前的时代,人们是如何记录或传输信息的? 狼烟和烽火用于传达敌人信息(有或没有)

同样,还有纸鸢(风筝)。 现在中国风筝有“北潍坊、南阳河”两个流派。

打结绳

人们用它来跟踪事物并传达信息。 在文字出现之前,人们习惯于记录和传达信息。 相传,大事结成大结,小事结成小结。

敲鼓敲金你读过《三国演义》就会知道,里面多次提到敲鼓敲金。 不同的方法和节奏传达不同的信息。

信号量在军事上也被大量使用。

故夜战火鼓多,日战旗多,故改人耳目。

“战争的艺术”

类似这样的还有很多,比如飞翔的鸽子传递消息、鱼传递尺子等等。 3、对于现代电子信息,我们先看一下电报机

欧洲科学家在18世纪逐渐发现了电的各种特性。 与此同时,一些人开始研究用电来传输信息的可能性。 早在1753年,一位英国人就提出利用静电来发送电报。

和莫尔斯电码

摩尔斯电码,又称摩尔斯电码,是一种时断时续的信号代码,通过不同的排列来表达不同的英文字母、数字和标点符号。 它于 1837 年发明,是数字通信的早期形式。 与现代数字通信不同,莫尔斯电码仅使用两种状态的二进制代码:零和一。 其代码包括五种类型:短点信号“·”和读“Di”并保持一定时间的长信号。 “—”,读作“Da”(Da),表示点和破折号之间的停顿,每个单词之间的中等停顿,以及句子之间的长停顿。

电子计算机 1946年,世界上第一台电子计算机诞生。 它是一个庞然大物,使用了18000个电子管,占地170平方米,重30吨,消耗约150千瓦电力,每秒可进行5000次运算。 虽然这个功能表现现在看来较差,但它的诞生却具有划时代的意义。 发明计算机的学生用八个晶体管的“开”或“关”来组合一些状态来代表世界上的一切。

说到这里,不得不提一个人——冯·诺依曼。 他是一位匈牙利裔美国数学家、物理学家和计算机科学家。 他是计算机、博弈论、核武器、生化武器领域最多才多艺的人之一。 他后来被称为“计算机之父”和“博弈论之父”。 。 我们今天使用的计算机都是基于冯·诺依曼架构的。 4. 说了这么多字节,我们开始说字节吧。 在开始之前,我们先回顾一下几个概念:

位:又称“比特”,是计算机信息的最小单位。 它是digit(二进制数字)的缩写,指二进制系统中的一位。

字节:计算机中的信息计量单位。 一位代表“0”或“1”。 每8位组成一个字节。

字符():文字和符号的总称,可以是各国文字、标点符号、图形符号、数字等

字符集(Set):是多个字符的集合

():将信息从一种形式或格式转换为另一种形式或格式的过程

():编码的逆过程

字符编码( ):字符按照何种规则存储

我们知道,字节是计算机信息存储的基本单位,由8位组成。 但为什么是八位数,而不是三位数或四位数,或者九位数或十位数? 网上很多人说是因为ASCII的原因,其实不然。 这不是因果关系。 位,一个位只有两种状态,0和1,可以代表晶体管的“开”和“关”。 计算机的存储和逻辑就是通过这些晶体管的“通”和“断”来表达的。 早期的计算机是用来进行数学运算的,数字的范围是0到9。其实4位就够了,而且数字可以用BCD码来表示。 但是,不能使用 4 位来表示一个字节。 用4位来表示数字是可以的。 至于其他字母,则必须用两个字节来表示。 跨字节访问会降低效率。 从历史上看,早期字节的大小没有固定的标准。 它在很大程度上依赖于硬件设计。 它的范围从 1 到 48 位,但更常用的是 6 位 (BCDIC)。 使用 6 位和 9 位的计算机在 1860 年代非常普遍,这些系统通常具有 12、18、24、30、36、48 或 60 位存储。

4 位和 6 位在早期也很常用,当时它们用于美国陆军和海军的常见可打印图形模式。 这些表示包括字母数字字符和特殊图形符号。 这些集于 1963 年扩展为 7 位编码,称为美国信息交换标准代码 (ASCII),称为联邦信息处理标准,它取代了美国政府不同部门和大学所使用的不兼容的电传打印机代码。 20 世纪 60 年代。 这就是ASCII的起源。 哈哈,ASCII字符实际上用的是7位,而不是8位。

那么今天的8位Byte是从哪里来的呢? 这将我们带到/360。 20世纪60年代初,IBM还积极参与ASCII标准化,并在/360产品线中引入了八位扩展二进制编码十进制交换码(BCDIC),这是对六位二进制编码十进制(BCDIC)的扩展。 IBM的出色性能逐渐让8位Byte流行起来。

然而,这与 ASCII 不同。 1870 年代八位微处理器的发展使这种存储能力得到普及。 早期的计算机如Intel的8088、8086可以通过4位来访问,当时称为半字节。 也许你用过8位单片机,但是你听说过4位单片机吗? 哈哈! 5、十进制是我们最熟悉的一种。 我们从小接触到的数字和算术计算都是使用十进制的。 然后我学习了信息和计算机相关知识,开始接触或了解二进制。 如上所述,阴阳八卦使用二进制系统。 事实上,二元系统普遍存在于自然界和生活中。 那么除了十进制和二进制之外,还有哪些其他的基本系统呢? 八进制、十六进制等

这些都是程序员所熟悉的。 说了这么多,什么是十六进制呢? 基础系统是进位计数系统,它是人为定义的带有进位的计数方法。 十进制系统每十分之一前进一位,二进制系统每两位前进一位,十六进制系统每十六进制前进一位,所以X基系统每X前进一位。基数是如何用数字表示的? 这也很简单。 如果底数小于10,可以很容易地用阿拉伯数字表示。

例如:十进制:0,1,2,3,4,5,6,7,8,9,10。 通过将十加一,将这个 10 转换为两位数。 八进制:0、1、2、3、4、5、6、7、10。 这个 10 通过将 8 加 1 转换为两位数。 根据数值计算,这个八进制的10相当于十进制的9。表达形式发生了变化。 二进制:0, 1,10。 这个10是一个两位数,转换成两位数。 那么大于10的基数呢,比如如何用十六进制表示呢? 十六进制:0, 1,2,3,4,5, 6,7,8,9,A, B, C, D, E, F, 10。通过每十六分之一加一,将 10 转换为两位数。 因为阿拉伯数字没有单一的数字来表示10、11、12、13、14、15,所以我们用A、B、C、D、E、F来表示,但表达形式不同。 上面我们提到了BCD码。 什么是BCD码? 十六进制到底是什么?

小数

二进制

八进制

十六进制

10

11

100

101

110

111

1000

10

1001

11

10

1010

12

11

1011

13

12

1100

14

13

1101

15

14

1110

16

15

1111

17 号

16

10000

100

10

因此,我们可以就这些碱基的表达方法达成一致,否则我们就不知道数字10是用哪个碱基表达的。 二进制用B()表示,比如1001B,但编程语言中的最小单位是Byte,所以二进制的表示方式没有约定俗成的。 八进制表示为O(Oct),写成123O? 这个O和0的写法类似,可能会产生误导。 太令人困惑了。 在编程语言中,通常在数字前面加一个0,即0123代表八进制的123。 请注意,它不等于十进制的 123。 十六进制用H(Hex)表示,如2BH。 在编程语言中以0x开头表示,如0x2B。 这里为什么要提到二进制、十进制、八进制和十六进制呢?

刚才说了,十进制是最常见的进制,二进制是计算机的基本进制,但是计算机通常使用8位Byte作为基本单位,所以1个Byte可以表示16个数字,所以,十进制十六进制非常常用,八进制表示半个字节。 好吧,问题来了。 除了这些常见的之外,还有没有三元体系呢? 那么十六进制呢? 答案是肯定的,只要你喜欢就可以。 int 有一个内置函数可以转换各种基数。 我们来看看数字100在各个基本系统中对应的十进制值。

>>> int('100', 2)4>>> int('100', 3)9>>> int('100', 4)16>>> int('100', 7)49>> > int('100', 8)64>>> int('100', 10)100>>> int('100', 16)256>>> int('100', 17)289>>> int ('100', 35)1225>>> int('100', 36)1296>>> int('100', 55) (最后一次调用): File "", line 1, in : int() base必须 >= 2 并且

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码