小編程達人養成計劃,就從學點計算機語言編個二進制手鏈開始吧!
想學會編程,孩子們就需要了解計算機是怎么工作的,計算機使用什么來跟我們溝通。這樣的話,就繞不開二進制碼,這是計算機的語言,計算機用二進制數字來代表信息。
字母、數字、圖片等等……基本上你在電腦上所看到的一切都由0和1的不同組合。
在我們看來這一切似乎是隨機,但其實二進制碼是基于二進制數的一個系統,這意味著二進制碼只能使用兩個數字,即“0”和“1”。我們日常生活所使用的十進制系統是一個由十個數字組成的系統。在數字“9”之后十進制系統從10開始進位。二進制系統的工作原理也一樣,只是在“0”和“1”之后就要進位了。所以,數字“2”在二進制代碼中就是“10”。
二進制是怎么回事兒呢?
我們可以把電腦想象成,一束由不同開關來控制的燈組成,然后每個開關只控制一個燈泡。亮和滅就是1和0。
如果你把所有的燈泡放在一起。我們讓有的燈亮,有的燈滅,組成各種不同的排列,代表不同的數字。然后,如果我們有很多開關,我們就能得到非常龐大的數字。
燈
那么,這個排列是什么意思呢?我們來看看兩個燈的情況。
兩個燈泡都滅
第一個滅,第二個亮
第一個亮,第二個滅
兩個燈泡都亮
二進制給這每種組合分配一個數字:
兩個燈泡都滅 = 0
第一個滅,第二個亮 = 1
第一個亮,第二個滅 = 2
兩個燈泡都亮 = 3
一組燈的情況(不是下邊這個例子的數字)
還有一種思考方式:假設每個燈泡都有一個點值,好比說第一個燈泡值兩分,第二個燈泡值一分。然后我們再來看看如何表述上述組合:
兩個燈泡都滅 = 0 + 0 = 0
第一個滅,第二個亮 = 0 + 1 = 1
第一個亮,第二個滅 = 2 + 0 = 2
兩個燈泡都亮 = 2 + 1 = 3
再加一個燈泡,假設它值4分(2的兩倍)。然后,要是所有燈泡都亮,等式就是 4+2+1=7。再加一個燈泡,假設它值8分(4再乘2)。現在所有燈泡都亮的話,總數值就是8+4+2+1=15。由此可見,大數字的得出需要“點亮”很多個燈泡。
最終,就算我們給所有燈泡都賦予一定數值,記錄的時候仍舊記的是若干個1和0——1代表燈亮,0代表燈滅。
假設有8個燈泡,設計如下:
滅 滅 亮 亮 滅 亮 滅 滅
其代表數值為:
0 + 0 + 32 + 16 + 0 + 4 + 0 + 0
(牢記一點: 只有亮起的燈泡才有數值!)
其總和為52。因此,我們就可以說這列燈泡代表的數值是52。那么,如何用計算機語言表述呢?
記錄如下:
因此,我們可以說(二進制)代表的是52。
這就是二進制代碼原理。
你可以嘗試在編碼器中輸入一些文本,計算機將會將其轉換為數字,然后再用二進制計數法對這些數字進行轉換!你知道嗎?——計算機表述任何字母都需要8個“燈泡”。所以一個由5個字母組成的單詞需要40個“燈泡”!
為什么電腦要用二進制?
二進制的運算法則少,運算簡單,用二進制計算機運算器的硬件結構不需要很復雜,十進制乘法九九口訣有55條公式,而二進制乘法只有4條規則。
另外,采用二進制,只有0和1兩個狀態,能夠表示0和1兩種狀態的電子器件有很多,比如開關的接通和斷開、晶體管的導通和截止、磁原件的正負剩磁、電位電平的高低等都可以表示0和1兩個數。
編個二進制手鏈吧!
如果孩子暫時還理解不了也沒關系,我們用二進制做一個生日手鏈,這樣也許能幫助他們理解。
材料:三種不同顏色的珠子,材料可以是粘土,也可以是現成的珠子,繩子。
第一步:先寫下你生日的數字格式。例如,如果你出生于2015年1月10日,那么,應該寫成1/10/15。二進制代碼則應該寫成01/1010/1111。
我們剛才說了,電腦大都采用8位二進制碼序列。為了簡單起見,但為了方便孩子理解和操作,我們縮短了以下的二進制碼序列。為了把代碼變成8位,要在數字前加“0”來成為八個占位符。例如,“1”應該寫成“”。
第二步:選出三種顏色的珠子,一種顏色的珠子代表“0”,第二種顏色的珠子代表“1”,第三種顏色來代表數字之間的間隔。
第三步:按照代表你生日日期的二進制代碼對珠子進行排序。并且用第三種顏色的珠子表示間隔。
第四步:把珠子按照之前排好的順序用繩子串聯起來。
小提示:在穿第一個珠子之前,在繩子末端打上結,防止珠子從你的手鐲上滑落。
第五步:所有珠子串好以后,把繩子兩端打成結,做成一個可穿戴的手鐲(或手鏈)。
一旦你學會了破解二進制碼,你就可以發揮創意自己做出各種各樣的小配飾。瞧,二進制碼是不是像數數那樣簡單呢。
最后果醬還有一個問題,你覺得顯示這篇文章需要多少個“燈泡”呢?哈哈,逗你的啦~
翻譯:鮮于文雯、金魚璨
加入【果殼-博物日常交流群】微信群方法: