「程式設計師節」 說說「資訊在計算機中的表示方法」

2021-07-23 23:22:14 字數 2720 閱讀 6146

天是程式設計師的「非法定」節日,沒有放假,我們先不發正式課程,先閒聊這10月24日為什麼會是程式設計師特有的節日,然後順帶說說大千世界的資訊在計算機中都是如何表示的? (不管怎樣,相比很快也要來的又11節電商節,顯然咱們這個1024程式設計師節終歸還在科學範疇內)

代電子計算機採用2進製記載資料。1024正好是2的十次方,所以國外就有程式設計師自行將10月24日納為天下程式設計師的節日了,就像有些搞數學的選中了3.14。

什麼電子計算機採用二進位制記載資料這個事,連不是程式設計師的人也能理解啦:電子電路通電和斷電是兩個相對穩定而精確的狀態。想想如果銀行使用電子電路上的電壓值來表示儲戶們的存款的話,那該有多少黑客天天想破壞銀行機房的供電系統……

電子電路的通電斷電狀態類似,磁碟用某個點帶磁或不帶磁,光碟用連續的平滑或出現雷射燒蝕的凹點來記載資料,來表示1或0。然後再用歸組的1或0表達資料。如果以2位為例,00表示十進位制的0。00加1到01,01表示10進製的1;再加1得到10,表示十進位制的2;最後是11表示十進位制的3。11再加1呢?必須用三位的二進位制數表達,得到100,表示十進位制的4。

果用2的幾次方表達,二進位制的0是2的0次方,二進位制的10是2的1次方,二進位制的100是2次方。1024是2的十次方,所以用二進位制表達,應該是1後面帶10個零:

100 0000 0000。 通常我們稱為1k。

樣是100三個數字,十進位制就表示一百,二進位制卻只能表示4;可見二進位制數實在是浪費空間。這些空間對應的可能就是磁碟的容量,或者網路的頻寬。暫時地,如果沒有可以更穩定地表達三或更多種狀態的介質,並且是可以被高度整合的介質被發現或發明出來,這些浪費只能忍受了。不過電子計算機估計自己也很煩這麼長串的資料(這個原因純屬我瞎說),所以實際進行各種邏輯處理時,是以8位(bit)為一組,作為最小可直接處理的單位,稱為了乙個位元組(byte)。通常稱「位/bit」為小b,而「位元組/byte」為大b。你家我家拉寬頻時,運營商號稱百兆千兆萬兆的網,用的是小b,所以實際更有意義的網速,應該除以8。電腦硬碟上的檔案大小,就是以大b(位元組)計算的。比如,一張風景20m。其實是十進位制20 * 1024 * 1024個位元組。

乙個數字,可以表達不同的含義,這個在現實生活中就已經是這樣了。比如 「66176」是什麼?我的直覺反應是歌曲《小草》的前5個音呢。而1024有人覺得不就是10月24日嗎?可宅得要命的程式設計師卻自作多情地聯想它是2的10次方。如果是我,可能又別有解釋。因為我第一次買車時,自選牌號就是「1024g」。家人說帶個4字不吉利,可我卻一直開著它在路上很得意,特別是某次開去軟體園,剛停在路邊,迎面款款走來三位都是女神級的美女,其中一位驚訝地叫出來:「看,這個車的容量正好1個t、1個t!」。我內心那得意啊。直到有一天在街上,突然一車竄出並超過我,我清楚地看到它的牌號是「1024t」,當時我就無地自容了。

個小段子,說是某外星人闖入大英帝國的圖書館,迅速瀏覽子全館的書籍,然後掏出一要能某種高精度金屬條,再掏出高精密的游標卡尺,在金屬條上刻下一條線,就坐著ufo回到他們的星球了,這就帶走了大英帝國圖書館的所有內容……

個段子怎麼理解呢? 剛才不是說到圓周率嗎?大家都知道它是乙個無限不迴圈小數,代表它後面可以有無窮盡個數。假設我們用3代表字母c,1代表字母a,4代表字母d,那」3.14「就是 」cad」,咦?不是正好有個英文單詞縮寫就叫cad嘛!。外星人也是用這個方法,將大小寫英文本母,幾個標點符號,全編個號。然後將圖書館裡從第一本書第乙個字元開始全部排在一起,就可以得到一大串數字(假設為0.n,n代表後面一大串數字)。再著在金屬條上刻下乙個位置,設位置左邊長度為x,位置右邊長度為y,並且有x除以y正好是前面的0.n。

人說,這個段子有數學漏洞,人類的數字不就是0到9十個數字嗎?英文本母不區分大小寫就有26個了,十個數字不夠表達啊。 這就是缺少「進製」的概念啦。簡單說,1位不夠,我們可以將2位編為一組嘛,比如0112中,01還代表a,而12則代表l嘛。如果外星個來的是北京的首圖的話,嗯,光給那麼多漢字編個序,就夠它折騰一下午的,哈哈;但最終還是可以輕鬆帶走所有知識的。

書中還有插圖呢,插圖千變百化,怎麼表達?這個就更不用擔心啦。以我們人類的知識,你現在電腦上不就是有許多了嘛! 表達的最直觀方法是乙個二維座標,上面有不同的點,如果是張黑白圖,那就1表示黑,0表示白嘛。如果是彩色圖,就有4個位元組來表示種顏色。當然這麼涉及點物理知識:通過搭配三元色(紅綠藍),就可以調出千萬種顏色啦……

讀本文到這裡,**不離十,你今天肯定已經在上班寫**了……不過,既然過節,我們得來個小彩蛋吧自娛自樂一番吧。 前面說到外星人要是來到了首都圖書館竊取咱中國上下五千年的文化,那它(他?她?)就得為所有漢字挨個兒編個號。這件事其實咱人類自個兒已經做了,比如「啊」同學,它取到的號(數字)就是45213。看吧,足足要5位數呢!外星人此刻心裡應當是肅然起敬的「這國家真有文化!」。現在請開啟控制台,然後用將鍵盤上的數字小鍵盤確保切換到「數字」狀態,再按下alt鍵不換,然後輸入45213這個字,接著鬆開alt鍵,是不是螢幕上輸出「啊」了? 哈哈,下面我就送出一串「編碼式的祝福」了,專門給懂得「一切資訊都可以編碼為數字」的程式設計師們: 46028  53490  54449  55278  46323。

(完)

說說計算機中的異常

開篇 異常這個名詞應該大家都不陌生,很多人都聽說過。系統呼叫知道吧?其實系統呼叫也是一種異常。但是具體的什麼是異常呢?他在計算機中有什麼作用?他是如何工作,如何被我們利用的?我想很多人都還不都是很清楚。了解異常有諸多好處,可以讓你更好的理解作業系統和應用程式的互動,更好的理解併發等。所以今天就簡單的...

說說計算機中的異常

開篇 異常這個名詞應該大家都不陌生,很多人都聽說過。系統呼叫知道吧?其實系統呼叫也是一種異常。但是具體的什麼是異常呢?他在計算機中有什麼作用?他是如何工作,如何被我們利用的?我想很多人都還不都是很清楚。了解異常有諸多好處,可以讓你更好的理解作業系統和應用程式的互動,更好的理解併發等。所以今天就簡單的...

計算機中的資訊

分別在本體論和認識論上的提出的定義體系 1.本體論層次的資訊是 事物運動的狀態及其變化方式的自我表述。2.認識論層次的資訊是 認識主題所感的或者所表述的實物運動狀態和方式,包括這種狀態或者方式的形式,含義和效用。北京郵電大學鍾義信教授 先得資訊 觀察者關於某事物的先驗資訊是指他在觀係之前通過某種途徑...