古人哲學(xué)居然與計(jì)算機(jī)信息編碼不謀而合?
首先我們看看《易傳·系辭上傳》,“易有太極,是生兩儀,兩儀生四象,四象生八卦?!睆囊韵逻@個(gè)圖就很好理解:
細(xì)心的你也許會(huì)發(fā)現(xiàn),這是二進(jìn)制的級(jí)數(shù)增長,這不就是1,2,4,8么!
道是獨(dú)一無二的,道本身包含陰陽二氣,陰陽二氣相交而形成一種適勻的狀態(tài),萬物在這種狀態(tài)中產(chǎn)生。
類似的,還有紙鳶(風(fēng)箏)。現(xiàn)在中國風(fēng)箏有倆流派,即“北濰坊,南陽江”。
結(jié)繩
故夜戰(zhàn)多火鼓,晝戰(zhàn)多旌旗,所以變?nèi)酥恳病?/p>
《孫子兵法》
歐洲的科學(xué)家在18世紀(jì)逐漸發(fā)現(xiàn)電的各種特質(zhì)。同時(shí)開始有人研究使用電來傳遞訊息的可能。早在1753年,一名英國人便提出使用靜電來拍發(fā)電報(bào)。
百度百科
摩爾斯電碼也被稱作摩斯密碼,是一種時(shí)通時(shí)斷的信號(hào)代碼,通過不同的排列順序來表達(dá)不同的英文字母、數(shù)字和標(biāo)點(diǎn)符號(hào)。它發(fā)明于1837年,是一種早期的數(shù)字化通信形式。不同于現(xiàn)代化的數(shù)字通訊,摩爾斯電碼只使用零和一兩種狀態(tài)的二進(jìn)制代碼,它的代碼包括五種:短促的點(diǎn)信號(hào)“?”,讀“滴”(Di)保持一定時(shí)間的長信號(hào)“—”,讀“嗒”(Da)表示點(diǎn)和劃之間的停頓、每個(gè)詞之間中等的停頓,以及句子之間長的停頓。
百度百科
比特(bit):也可稱為“位”,是計(jì)算機(jī)信息中的最小單位,是 binary digit(二進(jìn)制數(shù)位)?的?縮寫,指二進(jìn)制中的一位?
字節(jié)(Byte):計(jì)算機(jī)中信息計(jì)量的一種單位,一個(gè)位就代表“0”或“1”,每8個(gè)位(bit)組成一個(gè)字節(jié)(Byte)?
字符(Character):文字與符號(hào)的總稱,可以是各個(gè)國家的文字、標(biāo)點(diǎn)符號(hào)、圖形符號(hào)、數(shù)字等?
字符集(Character Set):是多個(gè)字符的集合?
編碼(Encoding):?信息從一種形式或格式轉(zhuǎn)換為另一種形式的過程?
解碼(decoding):?編碼的逆過程?
字符編碼(Character Encoding):?按照何種規(guī)則存儲(chǔ)字符
4位和6位也是在早期比較常用的,它們當(dāng)時(shí)被用在美國陸軍(FIELDATA)和海軍常見的可打印圖形模式。這些表示包括字母數(shù)字字符和特殊的圖形符號(hào)。這些集合在1963年擴(kuò)展為7位編碼,稱為美國信息交換標(biāo)準(zhǔn)代碼(ASCII),稱為聯(lián)邦信息處理標(biāo)準(zhǔn),取代了1960年代美國政府和大學(xué)不同部門使用的不兼容的電傳打印機(jī)代碼。?這個(gè)就是ASCII的由來。呵呵,ASCII字符其實(shí)用7位就夠了,不是8位哦。
十進(jìn)制 |
二進(jìn)制 |
八進(jìn)制 |
十六進(jìn)制 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
2 | 10 |
2 | 2 |
3 |
11 | 3 |
3 |
4 |
100 |
4 |
4 |
5 |
101 |
5 |
5 |
6 |
110 |
6 |
6 |
7 |
111 | 7 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 | C |
13 |
1101 |
15 |
D |
14 | 1110 |
16 |
E |
15 |
1111 |
17 |
F |
16 |
10000 |
100 |
10 |
'100', 2) > int(
4
'100', 3) > int(
9
'100', 4) > int(
16
'100', 7) > int(
49
'100', 8) > int(
64
'100', 10) > int(
100
'100', 16) > int(
256
'100', 17) > int(
289
'100', 35) > int(
1225
'100', 36) > int(
1296
'100', 55) > int(
Traceback (most recent call last):
File "
" , line 1, in <module>ValueError: int() base must be >= 2 and <= 36
BCD碼(Binary-Coded Decimal?),用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼,是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代碼。
如果不懂這個(gè)概念,要認(rèn)真讀幾次上面這段話。簡單地理解為,1位十進(jìn)制數(shù)碼用4位二進(jìn)制數(shù)來表示,但根據(jù)這1位十進(jìn)制數(shù)碼和4位二進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系(或者表達(dá)關(guān)系)不一樣而有不同的形式,如8421碼、2421碼、5421碼和余3碼、余3循環(huán)碼、格雷碼,其中前面三種是有權(quán)碼,后面三種是無權(quán)碼。
有權(quán)碼,自然二進(jìn)制代碼是按照二進(jìn)制代碼各位權(quán)值大小,以自然向下加一,逢二進(jìn)一的方式來表示數(shù)值的大小所生成的代碼。?
顯然,n位自然二進(jìn)制代碼共有2^n種狀態(tài)取值組合,由于代碼中各位的位權(quán)值分別為2^3,2^2,2^1,2^0,即8421,所以也稱為8421碼。這樣每位二進(jìn)制碼元都有確定位權(quán)值的編碼,稱為有權(quán)碼,屬于恒權(quán)代碼。相應(yīng)的,沒有確定位權(quán)值的編碼叫無權(quán)碼,也叫非恒權(quán)代碼。
百度百科——有權(quán)碼
5421和2421
十進(jìn)制數(shù) | 8421碼 | 5421碼 | 2421碼 |
0 | 0000 | 0000 | 0000 |
1 | 0001 | 0001 | 0001 |
2 | 0010 | 0010 | 0010 |
3 | 0011 | 0011 | 0011 |
4 | 0100 | 0100 | 0100 |
5 | 0101 | 1000 | 1011 |
6 | 0110 | 1001 | 1100 |
7 | 0111 | 1010 | 1101 |
8 | 1000 | 1011 | 1110 |
9 | 1001 | 1100 | 1111 |
格雷碼是一種具有反射特性和循環(huán)特性的單步自補(bǔ)碼,其循環(huán)和單步特性消除了隨機(jī)取數(shù)時(shí)出現(xiàn)重大錯(cuò)誤的可能,其反射和自補(bǔ)特性使得對(duì)其進(jìn)行求反操作也非常方便,所以,格雷碼屬于一種可靠性編碼,是一種錯(cuò)誤最小化的編碼方式,因此格雷碼在通信和測量技術(shù)中得到廣泛應(yīng)用。?
格雷碼屬于可靠性編碼,是一種錯(cuò)誤最小化的編碼方式。因?yàn)?,雖然自然二進(jìn)制碼可以直接由數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),但在某些情況,例如從十進(jìn)制的3轉(zhuǎn)換為4時(shí)二進(jìn)制碼的每一位都要變,能使數(shù)字電路產(chǎn)生很大的尖峰電流脈沖。
格雷碼Gray Code詳解(https://www.cnblogs.com/zhuruibi/p/8988044.html)
-
對(duì)n位二進(jìn)制的碼字,從右到左,以0到n-1編號(hào) -
如果二進(jìn)制碼字的第i位和i+1位相同,則對(duì)應(yīng)的格雷碼的第i位為0,否則為1(當(dāng)i+1=n時(shí),二進(jìn)制碼字的第n位被認(rèn)為是0,即第n-1位不變)
-END-
來源 | 嵌入式軟件實(shí)戰(zhàn)派
作者 |?實(shí)戰(zhàn)派掌門
|?整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有?|
|?如有侵權(quán),請(qǐng)聯(lián)系刪除?|
【1】飛機(jī)上一般是什么操作系統(tǒng)?
【2】高速CAN、容錯(cuò)CAN、LIN總線有什么區(qū)別?
【3】鴻蒙和安卓,到底有什么區(qū)別?
【4】大佬終于把鴻蒙OS講明白了,收藏了!
【5】必看!影響嵌入式薪資的各種原因!
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!