felix-cao / Blog

A little progress a day makes you a big success!
31 stars 4 forks source link

二进制知识梳理 #167

Open felix-cao opened 5 years ago

felix-cao commented 5 years ago

一、二进制起源

现有资料证明德国数学家莱布尼兹(Leibnig 1646—1716)的二进制算术论文初草于1679年,但未发表。1701年,他向法国科学院提交了二进制论文,为计算机理论及控制论的创立奠定了基础。所以,在数学史上,一般认为二进制的发明者是莱布尼兹。

但莱布尼兹在决定正式发表二进制思想时,就已经研究过中国的《易经》(请参考二进制中国发明权辩识 ——《易经》二进制发明及莱布尼茨对发明的“发现” ), 所以史学上又有学者认为二进制的发明者不是莱布尼茨,而是中国伏羲卦图的作者。莱氏二进制是对中国“发明”的“发现”与发挥。

image

《易经》以阴爻(——)和阳爻(—)两个符号按一定规则排列组成了八个爻卦。后来的《系辞》具体解释了八卦,书中有:“易有太极,是生两仪,两仪生四象,四象生八卦。”; 即由太极生成两个一爻卦:阳(—)代表天,阴(——)代表地。两仪就是天和地。这一阳爻(—),一阴爻(——),就是组成八卦的最基本的符号。两仪又生四象:太阳(卦),少阴(卦),少阳(卦),太阴(卦),四象象征一年中的春、夏、秋、冬四季,四时。四象再生成八卦:坤卦(卦),震卦(卦),坎(卦),兑卦(卦),艮卦(卦),离卦(卦),巽卦(卦),乾卦(≡)。八卦,也是八方,八节。如果用数码0和1分别表示阴爻(——)和阳爻(—),并把八卦中的上、中、下三排爻分别用相应的数码表示,则八个爻卦可顺次视为如下的二进制数:000,001 010,011,100,101,110,111。化为十进制数,即为从0到7八个自然数。

image

二、计数制

2.1 基数和位权

计数制,也称为“数制”,是用一组固定的符号和统一的规则来表示数值的方法。通俗的理解就是指人们进行计数的方法和规则。 比如:计算机用的二进制;人们生活中用的最多的十进制; 在我国历史上,曾经在重量单位上使用过16进制, 即:一斤合十六两,半斤等于八两,成语“半斤八两”就比喻彼此一样,不相上下(多含贬义)。

任何一个数制都包含两个基本要素:基数位权 十进制的基数是10。包含:0,1,2,3,4,5,6,7,8,9。再往后就满10了,这时候要向高一位进1。 也就是人们常说的满十进一,或者叫 逢十进一。即低位满十则向相邻高位进1。 相邻高低位上数值一样时,高位上数值是低位的10倍。

二进制是逢二进一,基数为2,包含0,1两个数值。 八进制是逢八进一,基数为8,包含0,1,2,3,4,5,6,7,一共8个。 十六进制是逢十六进一。基数为16,包含 0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15),一共16个。 基数:顾名思义,几进制,基数就是几;几进制,就 满几进一 位权:位:位置;权:权重。是指数制中每一固定位置对应的单位值。

2.2 计数规则

如何用基数和位权将计数的方法和规则表示出来呢? 以二进制的一个数(01001011)为例:

image

位权的表示的套路是:以基数2为底,从右向左,由低到高,该基数的次幂从0开始,依次向左加一

关于计数制可以阅读其他古代文明国家的计数方法

三、十进制转二进制

这里的套路是:

十进制的 107 如何转成二进制,先找出 2 的 n 次幂不大于 107 ,算得 n = 6,用 107 减去 2的6次幂 得到 43;重复下来后 :

image

如果该位用到,用 1 表示,否则用 0 表示。所以 107 用二进制表示为:01101011

image

二进制转成十进制就是相反的过程,如 01011001 转成十进制:

image