【科普】二進制和加法器

歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識】
更多相關(guān)文章請點擊如何從零開始制造計算機?


繼續(xù)前面的文章【科普】邏輯門電路-2

二進制Binary

很多人說計算機中的二進制起源于中國古典的陰陽八卦旭愧,這話不對寥殖,也對。

最早正式提出二進制的是生活在300多年前17世紀的德國數(shù)學(xué)家萊布尼茨Gottfried Wilhelm Leibniz呛牲,不是中國人刮萌。

萊布尼茨

在1703年,萊布尼茨發(fā)表了文章《論只使用符號0和1的二進制算術(shù)娘扩,兼論其用途及它賦予伏羲所使用的古老圖形的意義》着茸,正式提出二進制表示方法。

伏羲就是中國古典神話人物琐旁,補天女媧的老公涮阔。《易·系辭上》說:“河出圖灰殴,洛出書敬特,圣人則之∥眨”這里的圣人就是伏羲伟阔,說有一日,天馬載著河圖從天而降掰伸,神龜背著洛書從河中浮起皱炉,伏羲觀后靈感大發(fā),從中總結(jié)出八卦陰陽圖文碱工。這里的河圖我猜就是河流的彎曲走向娃承,洛書就是龜甲紋樣。

中國傳統(tǒng)陰陽八卦圖

從圖中我們也可以看出怕篷,八卦是用八個符號表示八個方向历筝。每個符號很有意思,都是三橫組成廊谓,有的橫中間斷開梳猪,有的不斷。

我們把連續(xù)的橫線視為1,斷開的視為0春弥,那么這八卦就是乾111呛哟、坎010、艮100匿沛、震001扫责、巽110、離101逃呼、坤000鳖孤、兌011。就是0~8數(shù)字抡笼。

二進制歷史

1854年苏揣,英國數(shù)學(xué)家喬治·布爾George Boole發(fā)表了一篇里程碑式的論文,其中詳細介紹了一種代數(shù)化的邏輯系統(tǒng)推姻,后人稱之為布爾代數(shù)平匈。他提出的邏輯演算在后來的電子電路設(shè)計中起基礎(chǔ)性作用。而我們現(xiàn)在編程里面的布爾值就是來自與此藏古。

喬治·布爾和克勞德·香農(nóng)

1937年增炭,克勞德·香農(nóng)Claude Elwood Shannon在麻省理工大學(xué)完成了其電氣工程碩士學(xué)位論文,用繼電器和開關(guān)實現(xiàn)了布爾代數(shù)和二進制算術(shù)運算校翔。論文題為《繼電器與開關(guān)電路的符號分析》(A Symbolic Analysis of Relay and Switching Circuits)弟跑,其中香農(nóng)的理論奠定了數(shù)字電路的理論基礎(chǔ),這篇論文被稱為“可能是本世紀最重要防症、最著名的碩士學(xué)位論文”孟辑。

1937年11月,任職于貝爾實驗室的喬治·斯蒂比茲發(fā)明了用繼電器表示二進制的設(shè)備蔫敲,它是第一臺二進制電子計算機饲嗽。至于圖靈和馮諾依曼那其實也是后話了。

二進制運算

二進制轉(zhuǎn)為十進制很簡單:
B_2B_1B_0=B_2\times 2^2+B_1\times 2^1+B_0\times 2^0
就是說奈嘿,二進制最右邊一位代表1貌虾,右數(shù)第二位代表2,第三位代表4裙犹,第4位代表8...依次類推尽狠。幾個例子如下:

  • 010=0+2+0=2
  • 011=0+2+1=3
  • 1011=8+0+2+1=11

換做加法就是:

  • 3+1=4 用二進制就是 011+001=100
  • 2+11=13 二進制就是 0010+1011=1101,這里1101等于8+4+0+1

在編程語言中還有針對二進制的各種運算,在Python中對二進制數(shù)字來說可以進行各種按位運算叶圃,比如與運算符&袄膏,或運算符|,非運算符~掺冠,異或運算符^沉馆。

注意這里沒有用~非運算符,因為在Python里它和我們想的不一樣,而用0b1111減去a則可以得到期望的結(jié)果斥黑,這里b后面4個1是因為a也是4個數(shù)字的揖盘;后面異或^的結(jié)果省略了開頭的0,完整的是0b0110锌奴,和我們期望的一致兽狭。

兩位數(shù)加法器

回顧一下半加器電路:

Half-adder

這個電路,輸如A和B缨叫,異或門輸出的S就是本位的結(jié)果椭符,與門輸出的C就是進一位(左邊一位)的結(jié)果。比如:

  • A=0耻姥,B=1,那么有咨,S=異或(0,1)=1琐簇,C=與(0,1)=0,結(jié)果是01即1
  • A=1座享,B=1婉商,那么,S=異或(1,1)=0渣叛,C=與(1,1)=1丈秩,結(jié)果是10即2

怎么擴展到兩位數(shù)加法器?

兩位數(shù)加法器

這里的二進制運算格式是A_2A_1+B_2B_1=C_nC_3C_2C_1

比如下圖顯示了11+11=01103+3=6的情況:

11+11=0110即3+3=6

在這里的順序是:

  • A1B1相加通過X1得到末尾C1的值淳衙。
  • A1B1相加之后通過D1向第二位C2進位蘑秽,而A2B2相加也應(yīng)該是第二位C2,所以這兩個結(jié)果也要走X25進行相加箫攀。
  • 如果X25這次相加還會產(chǎn)生進位就通過D25輸出到第三位C3肠牲。
  • D25是輸出到第三位C3的,而A2B2相加的進位也是在第三位C3的靴跛,所以它們也要通過X35相加缀雳。
  • 如果X35相加之后還會進位,就輸出給D35梢睛。

實際上X35這次相加是不會產(chǎn)生進位的肥印,也就是說D35一定輸出是0。為什么绝葡?簡單說就是兩個兩位數(shù)相加不會得到一個四位數(shù)深碱,這和99+99不可能得到1000一樣。但從邏輯上可以這樣看懂:

  • 如果進位D2輸出1挤牛,那么A2B2一定都是1
  • 如果A2B2都是1莹痢,那么異或操作的X2一定輸出0
  • 如果X2輸出0,而X2又是與運算D25的輸入分支,所以D25一定輸出0
  • 如果D25輸出0竞膳,它又是X35的分支航瞭,也是D35的分支,所以D35一定輸出0
10+11=0101即2+3=5

更多位數(shù)的加法器

從上面的兩位數(shù)加法器我們可以知道坦辟,這個模式其實是可以無限擴展下去的刊侯。

首先我們簡化一下圖形:

半加器圖形符號

下面是簡化符號之后的四位數(shù)加法器:

四位數(shù)加法器

在這里有幾處使用異或邏輯代替了半加器,因為上面已經(jīng)討論到在某些情況下半加器不可能產(chǎn)生進位锉走。

如果把這些半加器都展開滨彻,那么這個電路已經(jīng)看起來比較復(fù)雜了,而我們?nèi)粘J褂玫氖謾C電腦芯片中都有數(shù)億個晶體管互相連接而且不停地通斷才實現(xiàn)了各種的功能挪蹭。


歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識】
更多相關(guān)文章請點擊如何從零開始制造計算機亭饵?


每個人的智能新時代

如果您發(fā)現(xiàn)文章錯誤,請不吝留言指正梁厉;
如果您覺得有用辜羊,請點喜歡;
如果您覺得很有用词顾,歡迎轉(zhuǎn)載~


END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末八秃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肉盹,更是在濱河造成了極大的恐慌昔驱,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上忍,死亡現(xiàn)場離奇詭異骤肛,居然都是意外死亡,警方通過查閱死者的電腦和手機睡雇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來它抱,“玉大人秕豫,你說我怎么就攤上這事」坌睿” “怎么了狗准?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵腔长,是天一觀的道長欧募。 經(jīng)常有香客問我,道長传轰,這世上最難降的妖魔是什么纪挎? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮虎忌,結(jié)果婚禮上膜蠢,老公的妹妹穿的比我還像新娘堪藐。我一直安慰自己,他們只是感情好挑围,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布礁竞。 她就那樣靜靜地躺著,像睡著了一般贪惹。 火紅的嫁衣襯著肌膚如雪苏章。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天奏瞬,我揣著相機與錄音枫绅,去河邊找鬼。 笑死硼端,一個胖子當著我的面吹牛并淋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播珍昨,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼县耽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了镣典?” 一聲冷哼從身側(cè)響起兔毙,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兄春,沒想到半個月后澎剥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡赶舆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年哑姚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芜茵。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡叙量,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出九串,到底是詐尸還是另有隱情绞佩,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布蒸辆,位于F島的核電站征炼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏躬贡。R本人自食惡果不足惜谆奥,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拂玻。 院中可真熱鬧酸些,春花似錦宰译、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至市栗,卻和暖如春缀拭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背填帽。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工蛛淋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人篡腌。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓褐荷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嘹悼。 傳聞我的和親對象是個殘疾皇子叛甫,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型杨伙,或...
    哈哈哎呦喂閱讀 655評論 0 0
  • 網(wǎng)站亂碼問題我們會經(jīng)常碰到其监,大多見于非英文的中文字符或其他字符亂碼,而且限匣,這類問題常常是因為編碼方式問題棠赛,主要原因...
    波段頂?shù)?/span>閱讀 2,867評論 1 9
  • 本文是對論文《The Z1: Architecture and Algorithms of Konrad Zuse...
    逸之閱讀 4,335評論 15 12
  • 關(guān)于適用于初學(xué)者的紅石電路教程,請參閱初級紅石電路膛腐。 紅石電路與現(xiàn)實生活中的數(shù)字電路(基于布爾邏輯代數(shù))基本可以等...
    蘿卜小華閱讀 2,173評論 2 3
  • 簡介 關(guān)于進制,我們平時接觸的最多的就是十進制鼎俘,用于計數(shù)哲身。除了常用十進制,比較常用的還有跟時間相關(guān)的進制贸伐,比如七進...
    高鴻祥閱讀 4,501評論 0 4