- 寫給所有人的編程思維
- (英)吉姆·克里斯蒂安
- 1322字
- 2019-10-17 14:12:57
計(jì)算機(jī)如何工作?
如果說我們的大腦是依靠電脈沖的運(yùn)動,將信息傳遞到大腦和身體的各個(gè)部位,那么,計(jì)算機(jī)又是如何工作的呢?這兩者極其相似。
二進(jìn)制
二進(jìn)制是一種計(jì)數(shù)方式,只用到兩個(gè)數(shù)字——0和1。我們控制計(jì)算機(jī),就是控制計(jì)算機(jī)內(nèi)部微小部件(晶體管)的開關(guān),從而引導(dǎo)電流進(jìn)入正確的方向,實(shí)現(xiàn)程序的運(yùn)行。而掌管著晶體管開關(guān)的就是0和1。每一個(gè)0或1代表著一個(gè)“位”(計(jì)算機(jī)存儲中最小的單位)。
計(jì)算機(jī)中所有的輸入和輸出,不論是呈現(xiàn)你最喜愛的電子游戲,還是聯(lián)網(wǎng)播放有趣的視頻,都是由無數(shù)個(gè)這樣的二進(jìn)制數(shù)字組合實(shí)現(xiàn)的。這些由多個(gè)0和1組成的二進(jìn)制數(shù)字經(jīng)過翻譯,就成為計(jì)算機(jī)能識別的代碼。這種代碼就叫作機(jī)器碼。
你知道嗎?
二進(jìn)制是在167萊布尼茨研發(fā)出9年,由德國天才大師來的。事實(shí)上,二進(jìn)制的歷史比有證據(jù)表明這還要早一些!
二進(jìn)制運(yùn)算原理簡介
理解二進(jìn)制較好的一種方式,就是揭示十進(jìn)制的數(shù)字轉(zhuǎn)換為二進(jìn)制數(shù)字的過程。接下來,我們將十進(jìn)制數(shù)字的排放位置以分欄形式表示,先是個(gè)位欄,再是十位欄,然后是百位欄,依次排列。從右至左每移動一欄就意味著是前一欄的10倍(這就是我們所熟知的以10為基準(zhǔn)的數(shù)字體系或者叫十進(jìn)制體系):

在上面的圖中,2在個(gè)位欄,4在十位欄,3在百位欄,即3個(gè)100,4個(gè)10,2個(gè)1,也就是300+40+2=342。
二進(jìn)制則是由右至左每移動一欄就意味是前一欄的2倍,如下所示:

在上面二進(jìn)制的圖表中,32位欄、8位欄和2位欄中都有1,依次相加32+8+2=42。我們就可以將42這個(gè)數(shù)字寫為101010。
所有的這些1和0就是計(jì)算機(jī)能懂的語言,即開和關(guān),是和否,真和假。
二進(jìn)制手指計(jì)數(shù)法
為了將我們已知的二進(jìn)制知識展現(xiàn)出來,這里介紹一個(gè)有趣的游戲。玩這個(gè)游戲只需要運(yùn)用雙手就可以把信息傳遞給朋友!
就十進(jìn)制而言,用兩只手我們只能數(shù)到10,但是如果用手指表示二進(jìn)制數(shù)字,只用一只手就能數(shù)到31!請看下面所介紹的方法:

·將拳頭攥緊,這代表數(shù)字“0”。
·大拇指代表數(shù)字“1”。
·食指代表數(shù)字“2”。
·中指代表數(shù)字“4”。
·無名指代表數(shù)字“8”。
·小拇指代表數(shù)字“16”。
眾所周知,英文字母表中有26個(gè)字母,我們要賦予每個(gè)字母一個(gè)二進(jìn)制數(shù)值,并用手指表示出來。下面的圖就為我們展現(xiàn)了如何用手形表示相應(yīng)的字母。
那么,下面的這組信息拼寫出來是什么呢?
‘1000 101 1100 1100 1111 10111 1111 10010 1100 100'
拓展練習(xí)
我們使用二進(jìn)制手指計(jì)數(shù)法,一只手只能數(shù)到31。但如果我們把另一只手加上,就能一直數(shù)到1023啦!我們知道,后一根手指的數(shù)值是前一根手指的兩倍,因此第一只手的小拇指代表數(shù)值16的話,另一只手上的大拇指就代表32,食指就代表64,以此類推。
世界上有兩種人,懂二進(jìn)制的人和不懂二進(jìn)制的人。

這個(gè)游戲的答案全是數(shù)字(盡管數(shù)字不超過1023),你認(rèn)為自己能夠玩這樣的游戲嗎?你有什么疑問嗎?其實(shí),這是個(gè)很好玩的游戲,既能鍛煉負(fù)責(zé)創(chuàng)新思維的腦半球,又能鍛煉負(fù)責(zé)邏輯思維的腦半球。
二進(jìn)制是計(jì)算機(jī)能懂的數(shù)字體系。值得慶幸的是,我們并不需要了解如何使用二進(jìn)制編程來讓代碼在計(jì)算機(jī)上運(yùn)行。現(xiàn)代編程語言會為我們處理這一切,這些我們隨后會加以討論。現(xiàn)在,我們先來學(xué)習(xí)計(jì)算機(jī)和編程的歷史,了解計(jì)算機(jī)和編程發(fā)展的歷程。
*答案揭曉:‘1000 101 1100 1100 1111 10111 1111 10010 1100 100’拼寫出來是‘Hello World’——這是編程學(xué)習(xí)者最常見的短語和最常使用的練習(xí)。
- 大話PLC(輕松動漫版)
- Instant Node Package Manager
- Python數(shù)據(jù)分析基礎(chǔ)
- 無代碼編程:用云表搭建企業(yè)數(shù)字化管理平臺
- HTML5 Mobile Development Cookbook
- R的極客理想:工具篇
- PhoneGap Mobile Application Development Cookbook
- Angular開發(fā)入門與實(shí)戰(zhàn)
- HTML5與CSS3基礎(chǔ)教程(第8版)
- 運(yùn)用后端技術(shù)處理業(yè)務(wù)邏輯(藍(lán)橋杯軟件大賽培訓(xùn)教材-Java方向)
- Qlik Sense? Cookbook
- SQL Server 2008中文版項(xiàng)目教程(第3版)
- 交互式程序設(shè)計(jì)(第2版)
- Web前端開發(fā)最佳實(shí)踐
- 軟件測試(慕課版)