二進(jìn)制二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制,。二進(jìn)制數(shù)據(jù)是用0和1兩個(gè)數(shù)碼來(lái)表示的數(shù),。它的基數(shù)為2,進(jìn)位規(guī)則是“逢二進(jìn)一”,,借位規(guī)則是“借一當(dāng)二”,,由18世紀(jì)德國(guó)數(shù)理哲學(xué)大師萊布尼茲發(fā)現(xiàn)。當(dāng)前的計(jì)算機(jī)系統(tǒng)使用的基本上是二進(jìn)制系統(tǒng),。 目錄 20世紀(jì)被稱作第三次科技革命的重要標(biāo)志之一的計(jì)算機(jī)的發(fā)明與應(yīng)用,,其運(yùn)算模式正是二進(jìn)制,同時(shí)證明了萊布尼茲的原理是正確的,。
進(jìn)制數(shù)二進(jìn)制數(shù)據(jù)的表示法 二進(jìn)制數(shù)據(jù)也是采用位置計(jì)數(shù)法,,其位權(quán)是以2為底的冪。例如二進(jìn)制數(shù)據(jù)110.11,,逢2進(jìn)1,,其權(quán)的大小順序?yàn)?^2、2^1,、2^0,、2^-1、2^-2,。對(duì)于有n位整數(shù),,m位小數(shù)的二進(jìn)制數(shù)據(jù)用加權(quán)系數(shù)展開(kāi)式表示,可寫為:
?。?B>a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^(0)+a(-1)×2^(-1)+a(-2)×2^(-2)+……+a(-m)×2^(-m)
二進(jìn)制數(shù)據(jù)一般可寫為:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2,。
注意:
1.式中aj表示第j位的系數(shù),,它為0和1中的某一個(gè)數(shù)。
2.a(n-1)中的(n-1)為下標(biāo),,輸入法無(wú)法打出所以用括號(hào)括住,,避免混淆。
3.2^2表示2的平方,,以此類推,。
【例1102】將二進(jìn)制數(shù)據(jù)111.01寫成加權(quán)系數(shù)的形式。
解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2)
二進(jìn)制和十六進(jìn)制,,八進(jìn)制一樣,,都以二的冪來(lái)進(jìn)位的。
二進(jìn)制運(yùn)算1. 二進(jìn)制加法 有四種情況: 0+0=0
0+1=1
1+0=1
1+1=10
ps:0 進(jìn)位為1
【例1103】求 (1101)2+(1011)2 的和
解:
1 1 0 1
+1 0 1 1
-------------------
1 1 0 0 0
2. 二進(jìn)制乘法 有四種情況: 0×0=0
1×0=0
0×1=0
1×1=1
【例1104】求 (1110)2 乘(101)2 之積
解:
1 1 1 0
× 1 0 1
-----------------------
1 1 1 0
0 0 0 0
1 1 1 0
-------------------------
1 0 0 0 1 1 0
(這些計(jì)算就跟十進(jìn)制的加或者乘法相同,只是進(jìn)位的數(shù)不一樣而已,十進(jìn)制的是到十才進(jìn)位這里是到2就進(jìn)了)
3.二進(jìn)制減法
0-0=0,,1-0=1,,1-1=0,10-1=1,。
4.二進(jìn)制除法
5.二進(jìn)制拈加法
拈加法二進(jìn)制加減乘除外的一種特殊算法,。
拈加法運(yùn)算與進(jìn)行加法類似,,但不需要做進(jìn)位。此算法在博弈論(Game Theory)中被廣泛利用
計(jì)算機(jī)中的十進(jìn)制小數(shù)轉(zhuǎn)換二進(jìn)制
計(jì)算機(jī)中的十進(jìn)制小數(shù)用二進(jìn)制通常是用乘二取整法來(lái)獲得的,。
比如0.65換算成二進(jìn)制就是:
0.65 * 2 = 1.3 取1,,留下0.3繼續(xù)乘二取整
0.3 * 2 = 0.6 取0, 留下0.6繼續(xù)乘二取整
0.6 * 2 = 1.2 取1,,留下0.2繼續(xù)乘二取整
0.2 * 2 = 0.4 取0,, 留下0.4繼續(xù)乘二取整
0.4 * 2 = 0.8 取0, 留下0.8繼續(xù)乘二取整
0.8 * 2 = 1.6 取1,, 留下0.6繼續(xù)乘二取整
0.6 * 2 = 1.2 取1,,留下0.2繼續(xù)乘二取整
.......
一直循環(huán),直到達(dá)到精度限制才停止(所以,,計(jì)算機(jī)保存的小數(shù)一般會(huì)有誤差,所以在編程中,,要想比較兩個(gè)小數(shù)是否相等,,只能比較某個(gè)精度范圍內(nèi)是否相等。),。這時(shí),,十進(jìn)制的0.65,,用二進(jìn)制就可以表示為:1010011。
還值得一提的是,,在目前的計(jì)算機(jī)中,,除了十進(jìn)制是有符號(hào)的外,其他如二進(jìn)制,、八進(jìn)制,、16進(jìn)制都是無(wú)符號(hào)的。
在現(xiàn)實(shí)生活和記數(shù)器中,,如果表示數(shù)的“器件”只有兩種狀態(tài),,如電燈的“亮”與“滅”,開(kāi)關(guān)的“開(kāi)”與“關(guān)”,。一種狀態(tài)表示數(shù)碼0,,另一種狀態(tài)表示數(shù)碼1,1加1應(yīng)該等于2,,因?yàn)闆](méi)有數(shù)碼2,,只能向上一個(gè)數(shù)位進(jìn)一,就是采用“滿二進(jìn)一”的原則,,這和十進(jìn)制是采用“滿十進(jìn)一”原則完全相同,。
1+1=10,10+1=11,,11+1=100,,100+1=101,
101+1=110,,110+1=111,,111+1+=1000,……,,
可見(jiàn)二進(jìn)制的10表示二,,100表示四,1000表示八,,10000表示十六,,……。
二進(jìn)制同樣是“位值制”,。同一個(gè)數(shù)碼1,,在不同數(shù)位上表示的數(shù)值是不同的。如11111,,從右往左數(shù),,第一位的1就是一,第二位的1表示二,,第三位的1表示四,,第四位的1表示八,,第五位的1表示十六。
所謂二進(jìn)制,,也就是計(jì)算機(jī)運(yùn)算時(shí)用的一種算法,。二進(jìn)制只由一和零組成。
比方說(shuō)吧,,你上一年級(jí)時(shí)一定聽(tīng)說(shuō)過(guò)“進(jìn)位筒”&“數(shù)位筒”吧,!十進(jìn)制是個(gè)位上滿十根小棒就捆成一捆,放進(jìn)十位筒,,十位筒滿十捆就捆成一大捆,,放進(jìn)百位筒……
二進(jìn)制也是一樣的道理,個(gè)位筒上滿2根就向十位進(jìn)一,,十位上滿兩根就向百位進(jìn)一,,百位上滿兩根…… 二進(jìn)制是世界上第一臺(tái)計(jì)算機(jī)上用的算法,最古老的計(jì)算機(jī)里有一個(gè)個(gè)燈泡,,當(dāng)運(yùn)算的時(shí)候,,比如要表達(dá)“一”,第一個(gè)燈泡會(huì)亮起來(lái),。要表達(dá)“二”,,則第一個(gè)燈泡熄滅,第二個(gè)燈泡就會(huì)亮起來(lái),。
二進(jìn)制就是等于2時(shí)就要進(jìn)位,。
0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
……
即是逢二進(jìn)一,二進(jìn)制廣泛用于最基礎(chǔ)的運(yùn)算方式,,計(jì)算機(jī)的運(yùn)行計(jì)算基礎(chǔ)就是基于二進(jìn)制來(lái)運(yùn)行,。只是用二進(jìn)制執(zhí)行運(yùn)算,用其他進(jìn)制表現(xiàn)出來(lái),。
其實(shí)把二進(jìn)制三位一組分開(kāi)就是八進(jìn)制, 四位一組就是十六進(jìn)制
進(jìn)制轉(zhuǎn)換 二進(jìn)制數(shù),、八進(jìn)制數(shù),、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法:按權(quán)展開(kāi)求和法
1.二進(jìn)制與十進(jìn)制間的相互轉(zhuǎn)換: (1)二進(jìn)制轉(zhuǎn)十進(jìn)制
方法:“按權(quán)展開(kāi)求和”
例: (1011.01)2 =(1×2^3+0×2^2+1×2^1+1×2^0+0×2^(-1)+1×2^(-2) )10
=(8+0+2+1+0+0.25)10
=(11.25)10
規(guī)律:個(gè)位上的數(shù)字的次數(shù)是0,,十位上的數(shù)字的次數(shù)是1,,......,依次遞增,,而十
分位的數(shù)字的次數(shù)是-1,,百分位上數(shù)字的次數(shù)是-2,......,,依次遞減,。
注意:不是任何一個(gè)十進(jìn)制小數(shù)都能轉(zhuǎn)換成有限位的二進(jìn)制數(shù)。
· 十進(jìn)制整數(shù)轉(zhuǎn)二進(jìn)制數(shù):“除以2取余,,逆序排列”(除二取余法)
例: (89)10 =(1011001)2
89÷2 ……1
44÷2 ……0
22÷2 ……0
11÷2 ……1
5÷2 ……1
2÷2 ……0
1
· 十進(jìn)制小數(shù)轉(zhuǎn)二進(jìn)制數(shù):“乘以2取整,順序排列”(乘2取整法)
例: (0.625)10= (0.101)2
0.625X2=1.25 ……1
0.25 X2=0.50 ……0
0.50 X2=1.00 ……1
十進(jìn)制1至100的二進(jìn)制表示:
0=0
1=1
2=10
3=11
4=100
5=101
6=110
7=111
8=1000
9=1001
10=1010
11=1011
12=1100
13=1101
14=1110
15=1111
16=10000
17=10001
18=10010
19=10011
20=10100
21=10101
22=10110
23=10111
24=11000
25=11001
26=11010
27=11011
28=11100
29=11101
30=11110
31=11111
32=100000
33=100001
34=100010
35=100011
36=100100
37=100101
38=100110
39=100111
40=101000
41=101001
42=101010
43=101011
44=101100
45=101101
46=101110
47=101111
48=110000
49=110001
50=110010
51=110011
52=110100
53=110101
54=110110
55=110111
56=111000
57=111001
58=111010
59=111011
60=111100
61=111101
62=111110
63=111111
64=1000000
65=1000001
66=1000010
67=1000011
68=1000100
69=1000101
70=1000110
71=1000111
72=1001000
73=1001001
74=1001010
75=1001011
76=1001100
77=1001101
78=1001110
79=1001111
80=1010000
81=1010001
82=1010010
83=1010011
84=1010100
85=1010101
86=1010110
87=1010111
88=1011000
89=1011001
90=1011010
91=1011011
92=1011100
93=1011101
94=1011110
95=1011111
96=1100000
97=1100001
98=1100010
99=1100011
100=1100100
2.八進(jìn)制與二進(jìn)制的轉(zhuǎn)換: 二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù):從小數(shù)點(diǎn)開(kāi)始,,整數(shù)部分向左,、小數(shù)部分向右,每3位為一組用一位八進(jìn)制數(shù)的數(shù)字表示,,不足3位的要用“0”補(bǔ)足3位,,就得到一個(gè)八進(jìn)制數(shù)。
八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):把每一個(gè)八進(jìn)制數(shù)轉(zhuǎn)換成3位的二進(jìn)制數(shù),,就得到一個(gè)二進(jìn)制數(shù),。
八進(jìn)制數(shù)字與二進(jìn)制數(shù)字對(duì)應(yīng)關(guān)系如下:
000 -> 0 100 -> 4
001 -> 1 101 -> 5
010 -> 2 110 -> 6
011 -> 3 111 -> 7
例:將八進(jìn)制的37.416轉(zhuǎn)換成二進(jìn)制數(shù):
3 7 . 4 1 6
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
例:將二進(jìn)制的10110.0011 轉(zhuǎn)換成八進(jìn)制:
0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2 = (26.14)8
3.十六進(jìn)制與二進(jìn)制的轉(zhuǎn)換: 二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù):從小數(shù)點(diǎn)開(kāi)始,整數(shù)部分向左,、小數(shù)部分向右,,每4位為一組用一位十六進(jìn)制數(shù)的數(shù)字表示,不足4位的要用“0”補(bǔ)足4位,,就得到一個(gè)十六進(jìn)制數(shù),。
十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):把每一個(gè)十六進(jìn)制數(shù)轉(zhuǎn)換成4位的二進(jìn)制數(shù),就得到一個(gè)二進(jìn)制數(shù),。
十六進(jìn)制數(shù)字與二進(jìn)制數(shù)字的對(duì)應(yīng)關(guān)系如下:
0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C
0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D
0010 -> 2 0110 -> 6 1010 -> A 1110 -> E
0011 -> 3 0111 -> 7 1011 -> B 1111 -> F
例:將十六進(jìn)制數(shù)5DF.9 轉(zhuǎn)換成二進(jìn)制:
5 D F . 9
0101 1101 1111 .1001
即:(5DF.9)16 =(10111011111.1001)2
例:將二進(jìn)制數(shù)1100001.111 轉(zhuǎn)換成十六進(jìn)制:
0110 0001 . 1110
6 1 . E
即:(1100001.111)2 =(61.E)16
二進(jìn)制的特點(diǎn)優(yōu)點(diǎn) 數(shù)字裝置簡(jiǎn)單可靠,,所用元件少;
只有兩個(gè)數(shù)碼0和1,,因此它的每一位數(shù)都可用任何具有兩個(gè)不同穩(wěn)定狀態(tài)的元件來(lái)表示,;
基本運(yùn)算規(guī)則簡(jiǎn)單,運(yùn)算操作方便,。
缺點(diǎn) 用二進(jìn)制表示一個(gè)數(shù)時(shí),,位數(shù)多。因此實(shí)際使用中多采用送入數(shù)字系統(tǒng)前用十進(jìn)制,,送入機(jī)器后再轉(zhuǎn)換成二進(jìn)制數(shù),,讓數(shù)字系統(tǒng)進(jìn)行運(yùn)算,運(yùn)算結(jié)束后再將二進(jìn)制轉(zhuǎn)換為十進(jìn)制供人們閱讀,。
二進(jìn)制和十六進(jìn)制的互相轉(zhuǎn)換比較重要,。不過(guò)這二者的轉(zhuǎn)換卻不用計(jì)算,每個(gè)C,,C++程序員都能做到看見(jiàn)二進(jìn)制數(shù),,直接就能轉(zhuǎn)換為十六進(jìn)制數(shù),反之亦然,。
我們也一樣,,只要學(xué)完這一小節(jié),,就能做到。
首先我們來(lái)看一個(gè)二進(jìn)制數(shù):1111,,它是多少呢,?
你可能還要這樣計(jì)算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。
然而,,由于1111才4位,,所以我們必須直接記住它每一位的權(quán)值,并且是從高位往低位記,,:8,、4、2,、1,。即,最高位的權(quán)值為2^3 = 8,,然后依次是 2^2 = 4,,2^1=2, 2^0 = 1,。
記住8421,,對(duì)于任意一個(gè)4位的二進(jìn)制數(shù),我們都可以很快算出它對(duì)應(yīng)的10進(jìn)制值,。
下面列出四位二進(jìn)制數(shù) xxxx 所有可能的值(中間略過(guò)部分)
僅4位的2進(jìn)制數(shù)快速計(jì)算方法 十進(jìn)制值 十六進(jìn)值
1111 = 8 + 4 + 2 + 1 = 15 F
1110 = 8 + 4 + 2 + 0 = 14 E
1101 = 8 + 4 + 0 + 1 = 13 D
1100 = 8 + 4 + 0 + 0 = 12 C
1011 = 8 + 0 + 2+ 1 = 11 B
1010 = 8 + 0 + 2 + 0 = 10 A
1001 = 8 + 0 + 0 + 1 = 9 9
....
0001 = 0 + 0 + 0 + 1 = 1
0000 = 0 + 0 + 0 + 0 = 0 0
二進(jìn)制數(shù)要轉(zhuǎn)換為十六進(jìn)制,,就是以4位一段,分別轉(zhuǎn)換為十六進(jìn)制,。
如(上行為二制數(shù),,下面為對(duì)應(yīng)的十六進(jìn)制):
1111 1101 , 1010 0101 ,, 1001 1011
F D ,, A 5 , 9 B
反過(guò)來(lái),,當(dāng)我們看到 FD時(shí),,如何迅速將它轉(zhuǎn)換為二進(jìn)制數(shù)呢?
先轉(zhuǎn)換F:
看到F,,我們需知道它是15(可能你還不熟悉A~F這五個(gè)數(shù)),,然后15如何用8421湊呢?應(yīng)該是8 + 4 + 2 + 1,,所以四位全為1 :1111,。
接著轉(zhuǎn)換 D:
看到D,知道它是13,13如何用8421湊呢,?應(yīng)該是:8 + 4 + 1,即:1101,。
所以,FD轉(zhuǎn)換為二進(jìn)制數(shù),為: 1111 1101
由于十六進(jìn)制轉(zhuǎn)換成二進(jìn)制相當(dāng)直接,,所以,,我們需要將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成2進(jìn)制數(shù)時(shí),也可以先轉(zhuǎn)換成16進(jìn)制,,然后再轉(zhuǎn)換成2進(jìn)制。
比如,,十進(jìn)制數(shù) 1234轉(zhuǎn)換成二制數(shù),,如果要一直除以2,直接得到2進(jìn)制數(shù),,需要計(jì)算較多次數(shù),。所以我們可以先除以16,得到16進(jìn)制數(shù):
被除數(shù) 計(jì)算過(guò)程 商 余數(shù)
1234 1234/16 77 2
77 77/16 4 13 (D)
4 4/16 0 4
結(jié)果16進(jìn)制為: 0x4D2
然后我們可直接寫出0x4D2的二進(jìn)制形式: 0100 1101 0010,。
其中對(duì)映關(guān)系為:
0100 -- 4
1101 -- D
0010 -- 2
同樣,,如果一個(gè)二進(jìn)制數(shù)很長(zhǎng),我們需要將它轉(zhuǎn)換成10進(jìn)制數(shù)時(shí),,除了前面學(xué)過(guò)的方法是,,我們還可以先將這個(gè)二進(jìn)制轉(zhuǎn)換成16進(jìn)制,然后再轉(zhuǎn)換為10進(jìn)制,。
下面舉例一個(gè)int類型的二進(jìn)制數(shù):
01101101 11100101 10101111 00011011
我們按四位一組轉(zhuǎn)換為16進(jìn)制: 6D E5 AF 1B
萊布尼茨與二進(jìn)制簡(jiǎn)述 在德國(guó)圖靈根著名的郭塔王宮圖書館(Schlossbiliothke zu Gotha)保存著
一份彌足珍貴的手稿,,其標(biāo)題為:“1與0,一切數(shù)字的神奇淵源,。這是造物的秘密美妙的典范,,因?yàn)椋磺袩o(wú)非都來(lái)自上帝,?!边@是德國(guó)天才大師萊布尼茨(Gottfried Wilhelm Leibniz,1646 - 1716)的手跡,。但是,,關(guān)于這個(gè)神奇美妙的數(shù)字系統(tǒng),萊布尼茨只有幾頁(yè)異常精煉的描述,。
萊布尼茨不僅發(fā)明了二進(jìn)制,,而且賦予了它宗教的內(nèi)涵。他在寫給當(dāng)時(shí)在中國(guó)傳教的法國(guó)耶穌士會(huì)牧師布維(Joachim Bouvet,,1662 - 1732)的信中說(shuō):“第一天的伊始是1,,也就是上帝。第二天的伊始是2,……到了第七天,,一切都有了,。所以,這最后的一天也是最完美的,。因?yàn)?,此時(shí)世間的一切都已經(jīng)被創(chuàng)造出來(lái)了。因此它被寫作'7’,,也就是'111’(二進(jìn)制中的111等于十進(jìn)制的7),,而且不包含0。只有當(dāng)我們僅僅用0和1來(lái)表達(dá)這個(gè)數(shù)字時(shí),,才能理解,,為什么第七天才最完美,為什么7是神圣的數(shù)字,。特別值得注意的是它(第七天)的特征(寫作二進(jìn)制的111)與三位一體的關(guān)聯(lián),。”
布維是一位漢學(xué)大師,,他對(duì)中國(guó)的介紹是17,、18世紀(jì)歐洲學(xué)界中國(guó)熱最重要的原因之一。布維是萊布尼茨的好朋友,,一直與他保持著頻繁的書信往來(lái),。萊布尼茨曾將很多布維的文章翻譯成德文,發(fā)表刊行,。恰恰是布維向萊布尼茨介紹了《周易》和八卦的系統(tǒng),,并說(shuō)明了《周易》在中國(guó)文化中的權(quán)威地位。
八卦是由八個(gè)符號(hào)組構(gòu)成的占卜系統(tǒng),,而這些符號(hào)分為連續(xù)的與間斷的橫線兩種,。這兩個(gè)后來(lái)被稱為“陰”、“陽(yáng)”的符號(hào),,在萊布尼茨眼中,,就是他的二進(jìn)制的中國(guó)翻版。他感到這個(gè)來(lái)自古老中國(guó)文化的符號(hào)系統(tǒng)與他的二進(jìn)制之間的關(guān)系實(shí)在太明顯了,,因此斷言:二進(jìn)制乃是具有世界普遍性的,、最完美的邏輯語(yǔ)言。
另一個(gè)可能引起萊布尼茨對(duì)八卦的興趣的人是坦?jié)蔂枺╓ilhelm Ernst Tentzel),,他當(dāng)時(shí)是圖靈根大公爵硬幣珍藏室的領(lǐng)導(dǎo),,也是萊布尼茨的好友之一。在他主管的這個(gè)硬幣珍藏中有一枚印有八卦符號(hào)的硬幣,。
與中國(guó)易經(jīng)的聯(lián)系
1679年3月15日戈特弗里德·威廉·萊布尼茨發(fā)明了一種計(jì)算法,,用兩位數(shù)代替原來(lái)的十位數(shù),,即1 和 0。 1701年他寫信給在北京的神父 Grimaldi(中文名字閔明我)和 Bouvet(中文名字白晉)告知自己的新發(fā)明,,希望能引起他心目中的“算術(shù)愛(ài)好者”康熙皇帝的興趣,。
白晉很驚訝,因?yàn)樗l(fā)現(xiàn)這種“二進(jìn)制的算術(shù)”與中國(guó)古代的一種建立在兩個(gè)符號(hào)基礎(chǔ)上的符號(hào)系統(tǒng)是非常近似的,,這兩個(gè)符號(hào)分別由一條直線和兩條短線組成,,即── 和 — —。這是中國(guó)最著名大概也是最古老的書《易經(jīng)》的基本組成部分,,據(jù)今人推測(cè),,該書大約產(chǎn)生于公元前第一個(gè)千年的初期,開(kāi)始主要是一部占卜用書,,里邊的兩個(gè)符號(hào)可能分別代表“是”和“不”,。
萊布尼茨對(duì)這個(gè)相似也很吃驚,和他的筆友白晉一樣,,他也深信《易經(jīng)》在數(shù)學(xué)上的意義。他相信古代的中國(guó)人已經(jīng)掌握了二進(jìn)制并在科學(xué)方面遠(yuǎn)遠(yuǎn)超過(guò)當(dāng)代的中國(guó)人,。
《易經(jīng)》不是數(shù)學(xué)書,,而是一本“預(yù)言”,并在漫長(zhǎng)的歷史中逐漸演變?yōu)橐槐尽爸腔壑畷?。書里的短線意味著陰陽(yáng)相對(duì),,也即天與地、光明與黑暗,、造物主和大自然,。六爻以不同的組合出現(xiàn),人們可以借此對(duì)自然界和人類生活的變換做出各種不同的解釋,。比利時(shí)神父 P.Couplet(中文名字柏應(yīng)理)的 Confucius.Sinarum Philosophus (《孔子,,中國(guó)人的思想家,…》)第一次在歐洲發(fā)表了易經(jīng)的六十四幅六爻八卦圖,。
萊布尼茨的二進(jìn)制數(shù)學(xué)指向的不是古代中國(guó),,而是未來(lái)。萊布尼茨在1679年3月15日記錄下他的二進(jìn)制體系的同時(shí),,還設(shè)計(jì)了一臺(tái)可以完成數(shù)碼計(jì)算的機(jī)器,。我們今天的現(xiàn)代科技將此設(shè)想變?yōu)楝F(xiàn)實(shí),這在萊布尼茨的時(shí)代是超乎人的想象能力的,。
計(jì)算機(jī)內(nèi)部采用二進(jìn)制的原因 ?。?)技術(shù)實(shí)現(xiàn)簡(jiǎn)單,計(jì)算機(jī)是由邏輯電路組成,,邏輯電路通常只有兩個(gè)狀態(tài),,開(kāi)關(guān)的接通與斷開(kāi),這兩種狀態(tài)正好可以用“1”和“0”表示。
?。?)簡(jiǎn)化運(yùn)算規(guī)則:兩個(gè)二進(jìn)制數(shù)和,、積運(yùn)算組合各有三種,運(yùn)算規(guī)則簡(jiǎn)單,,有利于簡(jiǎn)化計(jì)算機(jī)內(nèi)部結(jié)構(gòu),,提高運(yùn)算速度。
?。?)適合邏輯運(yùn)算:邏輯代數(shù)是邏輯運(yùn)算的理論依據(jù),,二進(jìn)制只有兩個(gè)數(shù)碼,正好與邏輯代數(shù)中的“真”和“假”相吻合,。
?。?)易于進(jìn)行轉(zhuǎn)換,二進(jìn)制與十進(jìn)制數(shù)易于互相轉(zhuǎn)換,。
?。?)用二進(jìn)制表示數(shù)據(jù)具有抗干擾能力強(qiáng),可靠性高等優(yōu)點(diǎn),。因?yàn)槊课粩?shù)據(jù)只有高低兩個(gè)狀態(tài),,當(dāng)受到一定程度的干擾時(shí),仍能可靠地分辨出它是高還是低,。
二進(jìn)制與周易 改革開(kāi)放前,,大多數(shù)中國(guó)人不知道計(jì)算機(jī)是什么東西。1980年,,美國(guó)人第一臺(tái)8086CPU芯片個(gè)人計(jì)算機(jī)(PC,,俗稱電腦)上市,80年代初,,中國(guó)出現(xiàn)了進(jìn)口電腦,。一臺(tái)蘋果機(jī),價(jià)格近兩萬(wàn)元,,是普通干部工人工資的數(shù)百倍,,個(gè)人根本沒(méi)有能力購(gòu)買。90年代以后中國(guó)有了互聯(lián)網(wǎng),,電腦才逐步為中國(guó)人所熟悉,。
面對(duì)外來(lái)的先進(jìn)科學(xué)技術(shù),中國(guó)有些傳統(tǒng)文化人很不服氣,,連基本數(shù)學(xué)常識(shí)都沒(méi)有,,卻說(shuō)什么計(jì)算機(jī)二進(jìn)制原理,源于中國(guó)的《周易》,。
飛機(jī)與鳥(niǎo)兒都能在高空中飛翔,,飛機(jī)的原理卻不是來(lái)自鳥(niǎo)類,。同樣,萊布尼茲見(jiàn)過(guò)中國(guó)的太極圖,,不能完成證明計(jì)算機(jī)二進(jìn)制原理源于《易經(jīng)》,。 但是,易經(jīng)因?yàn)槭强陀^規(guī)律的頂層設(shè)計(jì),,是潛在的客觀存在,,沒(méi)有萊布尼茨,也會(huì)有別人發(fā)現(xiàn)的,。
據(jù)說(shuō)伏羲創(chuàng)八卦,。傳說(shuō)中的伏羲時(shí)代已有5000多年歷史了。5000多年前的人類已經(jīng)有了計(jì)數(shù)能力,,可是還沒(méi)有“0”這個(gè)數(shù)字概念,,直到公元628年,印度人Brahmagupta首次使用O,。12世紀(jì)印度人Bhaskara指出正數(shù)的平方根有兩個(gè),,一正一負(fù)。(《數(shù)學(xué):確定性的喪失 英.M.克來(lái)因》湖南科技出版社),。
0不僅僅表示“無(wú)”或“沒(méi)有”,,如氣溫0度,不是沒(méi)有溫度,。有了0,就可建立一個(gè)參照系,,如在一條直線上任取一點(diǎn)為0,,0點(diǎn)的左邊為負(fù)數(shù),右邊為正數(shù),。
學(xué)過(guò)計(jì)算機(jī)原理的人都知道,,計(jì)算機(jī)電路的高電平和低電平對(duì)應(yīng)二進(jìn)制數(shù)1與0。若高電平為1,,則低電平為0,;反之,高電平為0,,低電平為1,。這是正邏輯與反邏輯問(wèn)題。計(jì)算機(jī)的工作原理基于“布爾代數(shù)”,,進(jìn)行邏輯運(yùn)算,。計(jì)算機(jī)電路盡管十分復(fù)雜,但基本單元卻很簡(jiǎn)單,,由或門,、與門,、非門、與非門,、或非門,、異或門、同或門等組成,。
毛教授代表了相當(dāng)一部分中國(guó)傳統(tǒng)文化人的觀點(diǎn),。這是對(duì)數(shù)學(xué)進(jìn)制的無(wú)知,數(shù)學(xué)的進(jìn)制原理,,不存在“正確”與“錯(cuò)誤”,,更沒(méi)有“先進(jìn)”與“落后”之分。
用什么制式進(jìn)行數(shù)學(xué)運(yùn)算,,要看什么場(chǎng)合,,什么方便用什么。數(shù)學(xué)上有二進(jìn)制,、八進(jìn)制,、十進(jìn)制、十六進(jìn)制,、六十進(jìn)制,,…等多種進(jìn)制,原則上可取任何數(shù)進(jìn)制,,只要它實(shí)用,。12個(gè)月一年是十二進(jìn)制,365天一年是三百六十五進(jìn)制,。不同進(jìn)制的數(shù)可以相互轉(zhuǎn)換,,如十進(jìn)制135,轉(zhuǎn)換成二進(jìn)制為10000111,,二進(jìn)制的101轉(zhuǎn)換成十進(jìn)制為5,。很顯然,若人工進(jìn)行十進(jìn)制計(jì)算135除5,,十分簡(jiǎn)捷,,但換成二進(jìn)制100001111除101,計(jì)算起來(lái)既費(fèi)力又費(fèi)時(shí)間,,是最笨拙的進(jìn)制,。
易經(jīng)八卦陽(yáng)爻為一長(zhǎng)劃“一”,陰爻為一斷劃“--”(馬王堆西漢考古證明,,陰爻為“<”,。后來(lái)演變成“--”),陰陽(yáng)二爻任取三爻成一卦,,共八個(gè)卦,,八卦兩兩疊加,,成六十四卦。
有人認(rèn)為,,把八卦的陽(yáng)爻“一”視作1,,陰爻“--”視作0,就是二進(jìn)制,。
乾坤二卦象征天地,。乾卦由三個(gè)陽(yáng)爻“一”上下疊加組成,坤卦由三個(gè)陰爻“--”上下疊加組成,。若把陽(yáng)爻符號(hào)“一”看成1,,陰爻符號(hào)“--”視作0,則乾卦三個(gè)爻為二進(jìn)制111,,對(duì)應(yīng)十進(jìn)制7,;坤卦三個(gè)爻為二進(jìn)制000,對(duì)應(yīng)十進(jìn)制0,。
《系辭》曰:“易有太極,,是生兩儀,兩儀生四象,,四象生八卦”,,太極即無(wú),無(wú)中生有,,產(chǎn)生8個(gè)卦,。若0等于無(wú),太極即0,,這豈不與上面說(shuō)的坤為0相矛盾,?并且,乾一,、兌二、離三,、震四,、巽五、坎六,、艮七,、坤八,八個(gè)卦的“數(shù)”,,都不能與各自六個(gè)爻符轉(zhuǎn)換成的“二進(jìn)制數(shù)”一一對(duì)應(yīng),。
兩個(gè)八卦疊加成六十四卦,六十四卦各由六個(gè)爻組成,。如乾卦為六個(gè)“一”,,對(duì)應(yīng)二進(jìn)制111111,,轉(zhuǎn)換成十進(jìn)制,25+24+23+22+21+20=63,;坤卦六個(gè)陰爻“--”,,對(duì)應(yīng)二進(jìn)制000000,轉(zhuǎn)換成十進(jìn)制仍為0,。
古代漢字有“零”,,零并不等于0,零的含意是:1,,部分的,、細(xì)碎的,與整相對(duì),,如零碎,、十元零八毛;2,,落,,如雕零。零的現(xiàn)代意義,,可以是無(wú),,如“一切從零開(kāi)始”。
沒(méi)有0這個(gè)數(shù),,二進(jìn)制無(wú)從談起,。
《易經(jīng)》有數(shù)理原理,八八六十四卦有簡(jiǎn)單的算術(shù)運(yùn)算,。
處理數(shù)據(jù)庫(kù)二進(jìn)制數(shù)據(jù) 我們?cè)谑褂脭?shù)據(jù)庫(kù)時(shí),有時(shí)會(huì)用到圖像或其它一些二進(jìn)制數(shù)據(jù),這個(gè)時(shí)候你們就必須使用
getchunk這個(gè)方法來(lái)從表中獲得二進(jìn)制大對(duì)象,我們也可以使用AppendChunk來(lái)把數(shù)據(jù)插入到表中.
我們平時(shí)來(lái)取數(shù)據(jù)是這樣用的!
Getdata=rs("fieldname")
而取二進(jìn)制就得這樣
size=rs("fieldname").acturalsize
getdata=rs("fieldname").getchunk(size)
我們從上面看到,我們?nèi)《M(jìn)制數(shù)據(jù)必須先得到它的大小,然后再搞定它,這個(gè)好像是ASP中處理二進(jìn)制數(shù)據(jù)的常用方法,我們?cè)讷@取從客戶端傳來(lái)的所有數(shù)據(jù)時(shí),也是用的這種方法,。
下面我們也來(lái)看看是怎樣將二進(jìn)制數(shù)據(jù)加入數(shù)據(jù)庫(kù)
rs("fieldname").appendchunk binarydata
一步搞定!
另外,使用getchunk和appendchunk將數(shù)據(jù)一步一步的取出來(lái)!
下面演示一個(gè)取數(shù)據(jù)的例子!
Addsize=2
totalsize=rs("fieldname").acturalsize
offsize=0
Do Where offsize Binarydata=rs("fieldname").getchunk(offsize)
data=data&Binarydata
offsize=offsize+addsize
Loop
當(dāng)這個(gè)程序運(yùn)行完畢時(shí),data就是我們?nèi)〕龅臄?shù)據(jù).
|
|
來(lái)自: 天高地圓 > 《數(shù)學(xué)》