什麼是計算機二進制

很多專業人士從第一次學計算機,就開始接觸二進制,發現書上說的基本都是術語,不是“人話”,馬上暈倒。二進制是什麼?什麼“逢二進一”,這都不重要,狗屎。只要是人發明的東西,用人話就能講清楚。

咱們就用人話,看看能不能講清楚“二進制”。

咱們穿越啦,回到古代。你在一個烽火臺上,我在另一個烽火臺上,只要你那邊來敵人,你就點狼煙通知我。這個能懂吧?現在,我想清楚的知道你那兒來了幾個敵人,我好做準備工作。怎麼辦呢?很簡單,兩個辦法。

1、你點一次火,再滅掉一次,算是一個敵人,來兩個就點2回,滅兩回。
2、或者你同時點兩堆火。我就知道,是來了兩個敵人。

我去,你說要是敵人來了200個怎麼辦?你那邊要麼薰死,要麼火堆多到足夠自焚了……

朝代在發展,人類在進步。一晃愛迪生來過地球了,他發明燈泡了。

你可以用燈泡“亮”和“滅”來跟我表示這個信息。

如果一個燈泡沒亮,說明沒有敵人。燈泡沒亮,也可以說是狀態0。

如果來了一個敵人,燈泡亮了,我就知道來了1個,這就是狀態1。

問題又來了,還是來了200個敵人……我去,要麼你開關200次燈泡,要麼準備200個燈泡一起亮。第一個方法燈泡質量也不一定好,再說,你閃那麼快,我也數不過來。第二個方法,我數也得數小半天,沒數完,早被敵人衝過來砍死了。還有,200個燈泡,你確定你那兒電費餘額夠不?

好在咱們都是聰明人,咱們約定,多安幾個燈炮打暗號。爲了不用畫圖,0代表關燈,1代表開燈。

00000000,8個燈全關,放心睡覺,這是狀態0,說明一個敵人沒有,平安無事。(狀態0)
00000001,這說明來了一個敵人,你負責幹掉他就行了。(狀態1)
00000010,這是第二個能表示的狀態,咱們給它個編號,叫狀態2,說明來了兩個敵人,也沒啥大事。

接下來,應該是第三種情況了。00000011,這就是第三種情況。咱們不說換算什麼的,這種亮燈的方法咱們就叫3(狀態3)。

爲了讓咱倆都明白,咱們寫個清單(文章最後)出來。由清單能看出來,如果來了255個敵人,你直接打開8個燈泡,我也就一目瞭然,準備刀槍就上了。

因爲電腦也一樣,只有開和關(通電、斷電)來表示兩種狀態。這就叫“二進制”了。至於2進制怎麼計算,也很簡單,比如第一種狀態(1)+第二種狀態(2)=第三種狀態(3)。你看:

00000001

+00000010

=00000011,按表格一找,是3,就是這麼簡單。

所以,腦子裏別想着10進制和2進制怎麼換算,這些髒活兒累活兒,可以電腦去幹。你只要記住表格裏的“二進制第幾種狀態就是10進制中的幾”就可以了。

還有,磁盤裏的2進制,用磁鐵的N極和S極表示1和0,N=0,S=1,把硬盤放大了1000萬倍看看,上面都是小磁鐵,通過硬盤的磁頭識別,再變成電流信號“通”和“斷”來交給CPU處理。

那光盤上也一樣,光盤上是用“長”和“短”的小鏡子來表示1和0。把光放大了1000萬倍看看,上面都是長點和短點,用激光頭一照,根據反光的長度來表示數據。

那數據多了怎麼辦?8個編成一組,叫1byte,也就是傳說中的1個字節,是由8個0或1組成的,每個0或1叫1bit。通常,一個英文字母需要8個燈泡表示,一個漢字需要16個燈泡表示。

順便說一下,一下能讓我看清8個燈泡亮沒亮的方法,叫“並行”(8位),用1個燈泡來回開關,妄圖晃瞎我的傳遞數據的方法叫“串行”,也就是一串信號的意思。所以,頻率相同的情況下,“並行”肯定比“串行”快。

想一次能處理的信息越多,就需要越多的“位”數,比如你家CPU是64位的,就相當於一次能傳遞64個燈泡組成的信息。

先講這麼多吧,中心思想只有一個“技術課講的好,也很有意思!”

再贈送一個知識點,在EXCEL裏可以用公式=DEC2BIN()來換算。

附表:

10進制編號 燈泡表示
狀態 1 00000001
狀態 2 00000010
狀態 3 00000011
狀態 4 00000100
狀態 5 00000101
狀態 6 00000110
狀態 7 00000111
……(以此類推)
狀態 250 11111010
狀態 251 11111011
狀態 252 11111100
狀態 253 11111101
狀態 254 11111110
狀態 255 11111111

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章