0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計算機為什么是二進制?

dKBf_eetop_1 ? 來源:未知 ? 作者:胡薇 ? 2018-06-04 08:39 ? 次閱讀

1與0,一切數(shù)字的神奇淵源。這是造物美妙的典范,因為,一切無非都來自上帝。

從一枚古銀幣談起

1697年元旦,萊布尼茨寫了一封信給魯?shù)婪颉W古斯都公爵。寫信的同時,他贈送了一顆自己制造的銀幣給公爵,這顆銀幣的出現(xiàn),真正預(yù)示著二進制的誕生。

銀幣的正面當然是公爵帥氣威風(fēng)的肖像,這是為了獲得“科研經(jīng)費”必須做出的妥協(xié)。反面是一則創(chuàng)世故事:水面上籠罩著黑暗,頂部光芒四射……中間部分雕刻的是從1到17的二進制數(shù)學(xué)式。

考慮到公爵的智商,文筆晦澀的萊布尼茨講述了他構(gòu)思的一枚題為“造化之象”的紀念幣:全能的上帝從無創(chuàng)造有。現(xiàn)在我們可以說,數(shù)字的起源是世上能最好展示和說明這種力量的事物,它以“一”和“零”或者說“無”的形式呈現(xiàn),既樸素又簡練。

銀幣上面刻著十進制與二進制的對比狀態(tài):

十進制 二進制

0 0

1 1

2 10

3 11

4 100

……(以此類推)

13 1101

14 1110

15 1111

16 10000

17 10001

從這一天起,現(xiàn)代數(shù)學(xué)意義上的“二進制”誕生了。

1

十進制PK二進制

牛頓與萊布尼茨的對話

牛頓實在是看不下去了,你丫為了騙“科研經(jīng)費”,又開始忽悠領(lǐng)導(dǎo)了。

作為萊布尼茨的老對手,牛頓這次放出話來要正面KO死萊布尼茨。

老祖宗傳承下來的十進制不是用得好好的嗎?搞個二進制出來完全是制造社會混亂,混淆人類視聽,可惜英國的警察不能跨省去德國,否則早就把這廝抓回劍橋整成神經(jīng)病。

我都用它推導(dǎo)出萬有引力來了,還有什么事情十進制搞不定?

萊布尼茨心里也正窩著火呢,PK就PK,關(guān)于微積分的事情,你丫多次“洗我的稿”還沒時間找你呢,正好一起算總賬。

PK正式開始:

牛頓:你丫憑什么說二進制比十進制更簡潔?

萊布尼茨:上帝只用二根手指就可以搞定一切。

牛頓:你確定兩根手指可以演算世間萬物?

萊布尼茨:你看看我這張東方的康熙皇帝賜予的“先天八卦圖”就明白了。

牛頓嚇了一大跳,我靠,這丫背景很硬,連東方的皇帝都搞上關(guān)系了,我得小心。

牛頓認真研究了下《萊布尼茨——二進制與伏羲八卦圖考》,作為具有大智慧的人物,牛頓恍惚有些明白,他心中怦怦直跳,萊布尼茨這丫看來又要搞大事啊。

牛頓當然不會認輸:可二進制與十進制比,在計數(shù)上沒什么太大意義。

萊布尼茨:計數(shù)上意義不大,但它具有邏輯性,“零”表示“無”,“壹”表示“有”,我的二進制不是代數(shù)運算,而是數(shù)理邏輯運算。

…………(這個有點難,牛頓花了點時間才算整明白)

牛頓:可這二進制實在太麻煩,完全沒有辦法制造機器運算。

萊布尼茨:我這個又不是給你用,我這個是給計算機準備的。

牛頓傻眼了:計算機是什么玩意兒?

萊布尼茨:說了你也不懂,那是200多年后的寶貝。

牛頓氣得口吐白沫:就不能好好說個話嗎?

萊布尼茨:沒辦法,你代表的是古典十進制,我代表的是未來的二進制。

2

為什么計算機只愛“二進制”

人類天生有十個手指,自然也就有了十進制。

亞馬遜邊上打漁回來分食人魚,所有人伸出十個手指,基本夠用。

那數(shù)字到底怎么表述呢,人類畢竟是視覺動物。

東方的圣賢說:零一二三四五六七八九十……

西方的大哲說:one,two,three,four,five,six,seven,eight,nine,ten.....

兩者爭得不可開交時,從沙漠趕來的阿拉伯人翻譯道:還是用我們的0123456789吧。

經(jīng)過上千年的折騰,人類基本達成了一致,看在真主的份上,那就用阿拉伯數(shù)字。

但到了計算機時代,計算機怎么識別0123456789呢。

偉大的馮諾依曼為這事一臉愁容,折騰了一年,才發(fā)現(xiàn)問題出在十進制。

這時候一個聰明人想到了:電這東西其實可以表示很多狀態(tài),比如用電流來表示數(shù)字,0~0.9A表示0,1A表示1,2A表示2,3A表示3。想到這里,聰明人開始自我表揚了,這世界上還有難題可以擊倒我嗎?!

馮諾依曼翻了個白眼,這個還需要你提醒嗎,這畢竟是1945年,二次大戰(zhàn)還沒有完全結(jié)束呢,這個時候的電子元件根本無法讓電流變得非常穩(wěn)定。

聰明人表示了不滿:這都控制不了,搞什么科學(xué)研究。

馮諾依曼心中有一萬匹***跑過:you can you up, no can no bb!

其實這還不是馮諾依曼最擔心的,最讓人焦慮的是圖靈提出來的“計算思想”的問題,就算用電流計算的方式表示出10個狀態(tài),也沒有辦法讓電腦真正思考啊。畢竟電子計算機除了計數(shù)之外,還有判斷對錯的問題。

這個晚上,馮諾依曼做出一個重要的決定,根據(jù)電子元件雙穩(wěn)工作的特點,在電子計算機中采用二進制。

3

二進制的計算原理

我的智商有限,讓諸葛亮先生來告訴你二進制的計算原理。

諸葛亮為了北定中原興復(fù)漢室,親自駐守西城,此時的司馬懿兵強馬壯,諸葛亮派愛將馬謖駐守街亭,與西城首尾相望。

街亭山高谷深,地勢險要,為兵家必爭之地,進可攻關(guān)中,退可守隴右。

諸葛亮叮囑馬謖:魏軍若來100人,你就點亮1盞“孔明燈”通知我,我想清楚知道魏國來了多少敵軍,我派王平和趙云做好準備,這次必將活捉司馬懿。

馬謖腦瓜兒挺機靈:丞相我懂了,若是敵人來了100個,我就放飛1盞孔明燈。若是敵人來了1000個,我就放飛10盞孔明燈。若是敵人來了10000個,我就放飛100盞個孔明燈。若是敵人來了100000個,我就放飛1000盞孔明燈。

諸葛亮差點跳起來:你以為孔明燈那么好做,放飛250盞孔明燈,你知道要多少軍費嗎?今天下三分,益州疲弊,你還這么浪費。

馬謖腦眼珠一轉(zhuǎn):丞相我懂了,敵人來了一個,我就點亮一次,這樣的話,我就只需要1盞孔明燈了。

諸葛亮長嘆了口氣:幼常啊,你想一想,我現(xiàn)在快五十歲的人了,又近視得厲害,你認為我能夠看得清楚你點了多少次嗎?而且你這點來點去的,中間萬一數(shù)錯了呢?

馬謖這下傻眼了:丞相,求答案。

諸葛亮搖了搖羽毛扇:你得學(xué)學(xué)二進制,多安幾盞孔明燈,你把它們裝在街亭最高處,但注意,必須以同樣的距離排列。

馬謖完全糊涂了:丞相,什么是二進制?

諸葛亮搖了搖羽毛扇:二進制,乃天人之學(xué)也。

兩人耳語甚久,馬謖似懂非懂,最終拜服,丞相乃天人也。

諸葛亮道:現(xiàn)今你明白了二進制,只須排列好10盞燈,就可以將敵情準確上報。我在西城定好位置,按照定好的方位觀察亮燈的位置,就可以運籌帷幄。

0000000000,8盞燈全滅,說明無敵軍來犯。(狀態(tài)0)

0000000001,第一個位置亮了燈,來了100個敵人,你負責(zé)干掉他就行了。(狀態(tài)1)

0000000010,第二個位置亮了燈,來了200個敵人,小菜一碟,街亭無憂。(狀態(tài)2)

0000000011,第一二位置都亮了燈,來了300個敵人,也不是什么大事。(狀態(tài)3)

0000000100,第三個位置亮了燈,來了400個敵人,派出小股軍隊滅了他們。(狀態(tài)4)

0000000101,第一三位置都亮了燈,來了500個敵人,得小小注意下了。(狀態(tài)5)

諸葛亮擔心馬謖還是沒有真正地聽明白,特意給了他一張密碼對照表,按照這個密碼表,點起孔明燈就是了。

附表:

10進制編號 燈泡表示

狀態(tài) 1 0000000001

狀態(tài) 2 0000000010

狀態(tài) 3 0000000011

狀態(tài) 4 0000000100

狀態(tài) 5 0000000101

……(以此類推)

狀態(tài) 996 1111100100

狀態(tài) 997 1111100101

狀態(tài) 998 1111100110

狀態(tài) 999 1111100111

狀態(tài) 1000 1111101000

這就是二進制的基本工作原理,說實在的,確實比十進制有用多了。

4

《周易》和二進制

很多人談到二進制,就會說起中國的《周易》。

還有一些人迷信:因為白晉給萊布尼茨看了中國的先天八卦圖,萊布尼茨才創(chuàng)造了二進制。

在很多人眼中,中國傳統(tǒng)文化就是這么所向披靡,無往而不勝。

事實上,萊布尼茨在沒有看到先天八卦圖前的1697年,就已完成了論文《二進制算術(shù)》的草稿,也就是他在向公爵忽悠“科研經(jīng)費”時已經(jīng)完全搞定論文。古代的科學(xué)家真是非常敬業(yè),有了成果后才好意思要經(jīng)費。萊布尼茨詳盡說明了“二進制”算術(shù)原理,而且還給出了加、減、乘、除四則運算的規(guī)則。

1701年,萊布尼茨心血來潮想巴結(jié)下東方的帝王,給自己找條后路,畢竟那時候的西方世界被牛頓給統(tǒng)治了。他聽說康熙皇帝喜歡數(shù)學(xué),就給在北京的法國傳教士白晉的信中,闡述了“二進制”的算術(shù)規(guī)則,并希望白晉將“二進制”介紹給康熙皇帝。收到信的白晉感覺萊布尼茨的“二進制”似乎與中國的八卦圖形有某種聯(lián)系,比如八卦中的陰爻“——”就像“二進制”中的“0”,陽爻“——”就像“1”。于是他在回信中說明了自己的這個想法,并且把一幅“伏羲六十四卦方位圖”一并寄回。這才是《周易》和二進制相遇的原因,傳教士真是個好東西。

萊布尼茨見到那張六十四卦圖已是1703年,收到東方帝王關(guān)照的萊布尼茨興奮不已,很快就在法國科學(xué)院院報上發(fā)表了自己那篇關(guān)于“二進制”的文章,題目就叫《關(guān)于只用兩個記號0和1的二進制算術(shù)的解釋——和對它的用途以及它所給出的中國古代伏羲圖的意義的評注》。

中國的八卦符號分為連續(xù)的與間斷的橫線兩種。這兩個后來被稱為“陰”、“陽”的符號,在萊布尼茨眼中,就是他的二進制的中國翻版。萊布尼茨完全是以個人的杰出才華,依靠一己之力推演出二進制。

結(jié)

二進制是最完美的邏輯語言

2018年,在德國圖靈的郭塔王宮圖書館里,仍然保存著一份珍貴手稿,其標題為:“1與0,一切數(shù)字的神奇淵源。這是造物美妙的典范,因為,一切無非都來自上帝?!边@是天才萊布尼茨的手跡。

二進制最適合邏輯運算,它只有兩個數(shù)碼,正好與邏輯代數(shù)中的“真”和“假”相吻合。二進制兩個數(shù)碼正好與邏輯命題中的“真(True)”、“假(False)”或稱為”是(Yes)”、“否(No)”相對應(yīng)。

200多年前,沒有誰明白二進制的偉大,唯有萊布尼茨一眼就洞穿數(shù)理邏輯的終極奧義,當現(xiàn)在回溯AI的起源時,有些人將萊布尼茨視為真正的鼻祖。

如果看到今天二進制在人類文明中所占據(jù)的位置,萊布尼茨可以對著遙遠的東方重復(fù)他曾經(jīng)說過的話:二進制乃是具有世界普遍性的、最完美的邏輯語言。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 二進制
    +關(guān)注

    關(guān)注

    2

    文章

    772

    瀏覽量

    41536

原文標題:二進制的“前世今生”

文章出處:【微信號:eetop-1,微信公眾號:EETOP】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    計算機為什么使用二進制來表達

    在生活中,人們已經(jīng)習(xí)慣用十進制來計數(shù),0~9的發(fā)明是人類的偉大進步,從此就可以用0~9這十個數(shù)字的組合能表示任何大小的數(shù)字。于是初學(xué)計算機的人往往會問的問題是,計算機為什么使用二進制
    的頭像 發(fā)表于 10-30 15:44 ?2919次閱讀
    <b class='flag-5'>計算機</b>為什么使用<b class='flag-5'>二進制</b>來表達

    【量子計算機重構(gòu)未來 | 閱讀體驗】+ 了解量子疊加原理

    如何生產(chǎn)制造。。。。。。 近來通過閱讀《量子計算機—重構(gòu)未來》一書,結(jié)合網(wǎng)絡(luò)資料,了解了一點點量子疊加知識,分享給大家。 先提一下電子計算機,電子計算機使用二進制表示信息數(shù)據(jù),
    發(fā)表于 03-13 17:19

    #硬聲創(chuàng)作季 計算機基礎(chǔ):計算機二進制

    計算機基礎(chǔ)
    Mr_haohao
    發(fā)布于 :2022年11月03日 08:15:54

    #硬聲創(chuàng)作季 計算機基礎(chǔ):二進制的算術(shù)運算

    計算機基礎(chǔ)
    Mr_haohao
    發(fā)布于 :2022年11月03日 08:18:27

    有關(guān)C語言的基礎(chǔ)知識

    0,1,2...57,58,59。滿60進1。60秒為1分鐘,60分鐘為1小時。計算機二進制,基數(shù)0,1。滿2進1。高電平代表1,低電平代表0...
    發(fā)表于 07-14 08:23

    位運算的相關(guān)資料分享

    計算機二進制數(shù)據(jù)進行的運算(+、-、*、/)都是叫位運算為什么要位運算,提高效率,也就是快。eg:35:0010001147:00101111-------------------82
    發(fā)表于 12-24 07:44

    計算機的原碼與反碼及其補碼是干啥的?

      很多人都只知道計算機使用的是二進制,但很少有了解到計算機是以補碼的方式進行存儲數(shù)據(jù)的?! 〔贿^補碼是通過原碼、反碼一步步演變而來的?! ≡a  原碼是一種計算機對數(shù)字的
    發(fā)表于 04-13 17:04

    單片機教程視頻之人人學(xué)會單片機詳細鏈接方式免費下載

    新建工程和點亮一個 LED5.單片機的發(fā)展和 STC 資源概要6.計算機二進制概念和進制運算等六十多個課程資料免費下載
    發(fā)表于 10-24 08:00 ?138次下載

    GPIO端口的硬件結(jié)構(gòu)和使用代碼等詳細資料概述

    GPIO,就是通用IO端口,說白就是個端口。一個端口有什么用?。??說白了就是輸出和讀取作用了,既然計算機二進制的,那肯定就是兩個狀態(tài)了。高電平/低電平(臥槽,數(shù)字電路!噩夢?。?。所以GPIO在硬件上就是做這四件事情的,(輸出/輸入)X(高/低電平)。
    發(fā)表于 09-09 17:26 ?2次下載
    GPIO端口的硬件結(jié)構(gòu)和使用代碼等詳細資料概述

    計算機二進制概念和進制運算的詳細資料簡介

    本文檔的主要內(nèi)容詳細介紹的是計算機二進制概念和進制運算的詳細資料簡介。
    發(fā)表于 12-11 17:34 ?19次下載
    <b class='flag-5'>計算機</b>的<b class='flag-5'>二進制</b>概念和<b class='flag-5'>進制</b>運算的詳細資料簡介

    2019年的人工智能有哪一些比較熱門的應(yīng)用

    為了和計算機對話,曾經(jīng)是人主動學(xué)習(xí)計算機二進制語言,現(xiàn)在是人在讓計算機運用人的語言,這背后的核心就是人機交互技術(shù)。
    發(fā)表于 12-26 10:57 ?1181次閱讀

    為什么在計算機里Byte是從-128到127?

    計算機是一個很神奇的東西,僅靠 0 和 1 就能運算、存儲等操作。那么,為什么Byte是從是從-128到127? 今天就給大家講講計算機二進制的一些內(nèi)容。 1 計算機表示數(shù)據(jù)的規(guī)則這個
    的頭像 發(fā)表于 04-15 11:43 ?3147次閱讀

    計算機基礎(chǔ)知識之二進制

    在C/Java/JavaScript等高級語言編寫的程序中, 「數(shù)值」 、 「字符串」 和 「圖像」 在計算機內(nèi)部都是以 「二進制數(shù)值」 的形式來表現(xiàn)的 用二進制數(shù)表示計算機信息的原
    的頭像 發(fā)表于 03-31 16:06 ?3981次閱讀
    <b class='flag-5'>計算機</b>基礎(chǔ)知識之<b class='flag-5'>二進制</b>

    計算機定點數(shù)據(jù)解說

    在學(xué)習(xí)計算機基礎(chǔ)的過程中我們已經(jīng)知道計算機是基于二進制對數(shù)據(jù)進行存儲和運算的。學(xué)習(xí)C語言時我們又知道了C語言中常見的數(shù)據(jù)類型有:char,int,long int等 signed 或 unsigned 整數(shù)數(shù)據(jù),以及float和
    的頭像 發(fā)表于 07-31 14:47 ?833次閱讀
    <b class='flag-5'>計算機</b>定點數(shù)據(jù)解說

    二進制、八進制、十六進制在現(xiàn)實當中有什么意義?

    二進制、八進制、十六進制在現(xiàn)實當中有什么意義? 二進制、八進制和十六進制在現(xiàn)實生活中有著廣泛的應(yīng)
    的頭像 發(fā)表于 01-16 11:14 ?4383次閱讀