<object id="aauxa"></object>
<thead id="aauxa"><del id="aauxa"></del></thead>
  • <var id="aauxa"><option id="aauxa"></option></var>
  • <thead id="aauxa"></thead>
    <thead id="aauxa"><del id="aauxa"></del></thead>

    0 和 1 是如何創造整個數字世界的?

    科技頻道 10-08

    此時此刻,屏幕前的你正準備看下面這個 .mp4 的視頻。

    或許就在剛才,你還聽了一首 .mp3 的音樂,拍了張 .jpg 的照片,讀了本 .txt 的小說,下了部 .avi 的電影。

    所有這些紛繁復雜的數字文件,在本質上都只是一串串由 0 和 1 所組成的代碼。

    那么 0 和 1,究竟是如何創造出這個有趣的世界的呢?

    視頻

    ↓↓ 看完這個視頻就知道了 ↓↓

    播放

    ↑↑ 信我,真的超級好看 ↑↑

    圖文版

    首先我們需要先簡單了解一下二進制,這是數字世界里的基本規則。

    人有十個手指頭,但計算機電路卻只有通和斷兩種狀態。所以,滿十進一位的計數方式更適合人類,而滿二進一的二進制更適合計算機:

    只需要 0 和 1 兩個數字,就可以傳遞一切信息。

    比如,十進制的 2 用二進制表示就是 10 (一零) 十進制的 3 二進制就是 11(一一)。二進制和十進制在表達的意思上并沒有什么區別,只是長相不同而已。

    看到這里,我們來做一個小測試,如果你能讀懂了這句話,那么恭喜你,你已經懂了二進制。

    接下來的問題就是,如何才能把一串看似毫無規則的 0 和 1,變成我們熟悉的圖片和音樂呢?

    以圖像為例,.bmp 是 windows 系統中的標準圖像文件格式。

    在你手機或電腦的某個角落里有這樣一串數據

    開頭 16 位翻譯過來,就是 BM 兩個字母,也就是是 bmp 文件開始的標識。緊隨其后的,是圖片的各項基本信息。

    比如現在這張圖片,長寬都為 55 個像素,顏色深度 24 位,意思是說,每個像素點的顏色,都是由 24 個 0 和 1 所組成的數據來表示的。

    再往后就是圖像數據的本體了。

    這里最開始的 24 位都是 1,意思是說,圖像的第一個像素中,有最大強度的紅綠藍三種顏色,所以這個像素顯示為白色。

    而接下來的 24 位前八位是 1 后面都是 0,那么第二個像素就是純純的紅色。

    第三個 24 位的前 16 位為 1,最后八位為 0,所以第三個像素就是紅色和綠色調和出來的黃色。

    根據這樣的規則,最終可以填滿了整個 55 乘 55 的格子,得到一張完整的圖片。

    所以,一個 bmp 圖像文件中的這些 0 和 1,就是在逐個記錄圖像中每一個像素點的顏色。

    與之類似,wav 格式的音頻文件中,一秒被分成 441000 個時刻點,文件的數據記錄著每個時刻點上聲音的振幅,最終連線,形成一道完整的聲波。

    大多數情況下,我們接觸到的文件都和上面這兩個例子一樣:

    文件中 0 和 1 按照人們事先設計好的規則排列好,只需找到正確的打開方式,按照特定的規則來解讀這些數據,就可以獲取其中的信息。

    但問題來了,我們怎么知道某個文件中的 0 和 1 究竟是按什么規則排列的,又要用怎樣的方式來解讀它呢?

    這就涉及到視頻開頭我們提到的那些擴展名了。

    在文件的名字后面加幾個特定的字符組成的擴展名,就可以幫助系統辨認出文件的類型,從而提示電腦去按照某種特定的規則,來正確解讀其中的信息。

    明白了這個原理,我們就可以做一些有趣的事情。

    比如有一個文件,他的數據只有一行,翻譯過來長這樣。

    (copy/b 柴 .jpg+ 柴 .rar = 柴 .jpg)

    如果把文件擴展名改成 .txt,系統就會把它當做一個普通文檔打開。

    但如果把擴展名改為 .bat,文件打開后就會自動執行這么一個命令:

    把同一文件夾下,事先準備好的這張圖片和這個壓縮文件,合并成一個文件。

    當你直接打開這一文件時,因為擴展名是 .jpg,所以系統會把它當做一張 JPG 格式的圖片進行解讀,你看到的就是之前準備的那張圖片。

    但如果打開之前把它的擴展名改成 .rar,這樣你就可以打開隱藏在那張圖片下面的 事先準備好的壓縮文件了。

    至于壓縮文件里放什么內容,那就是留給各位自由發揮的空間了。(邪魅一笑 ~)

    注:

    1、絕大多數文件都會有一串用來描述“數據本體”的元數據,它一般以一串標識身份的“ magic number “開頭,其后包含了文件的各項基本信息和基本的解讀規則,非常復雜,視頻中的例子只表現了其中部分數據。

    2、視頻中重點表現 01 和我們接觸到的數字文件之間的關系,實際上中間還有復雜的編碼過程。

    3、計算機顯示的顏色是紅綠藍(RGB)加色法三原色,和繪畫顏料 紅黃藍的減色法三原色不同。

    4、生活中我們接觸到的數字文件一般是經過了有損壓縮的文件,和 BMP、WAV 等無損文件相比,它們的體積更小,但解讀數據的方法往往復雜難懂。

    5、最后的柴 .jpg 相當于把兩個文件的數據整合到了一起,不同的打開方式會先在這堆數據里找到各自的“ magic number ” ,接著解讀之后的數據。

    相關標簽: 音樂 紅黃藍 windows

    科技頻道
    原網頁已經由 ZAKER 轉碼排版 查看原文
    最新評論
    D
    10-10
    好吧 我自己慢慢看看百科
    不銹小七8421碼,比如1000,就對應是8;1001就代表是9。
    簡.迷離
    10-10
    厲害了
    W....你拿兩個二極管懟一起給我弄個三極管出來,要求不高,能實現開關態就行。二極管和PN節是兩個概念,二極管由一個PN節組成,三極管2個,但是三極管開關特性來源于其基極足夠薄的結構特點,不是兩個二極管拼接能實現的。 你是覺得說二極管只有正向導通和反向截止所以是兩個狀態嗎?但是這是一個性質,叫單向導電性,但是還有反向擊穿嘞,線性穩壓管就靠的這個性質。更別說光靠這兩點無法實現受控源功能,也就無法實現可控的門電路,計算也就無從談起。 說到底,門電路才是二進制系統的基本,而門電路都是由三極管(實際上是可控開關)構成(非要說的話也一般有附屬的二極管做保護電路)。如果你非要扯三極管是二極管組成的,那我也只好說二極管是沙子做的,所以沙子才是計算機的基本了。 順便一提,電報也是二進制,磁盤、硬盤存儲也都是二進制,而這些和二極管八竿子打不著關系,而是受限于物理性質,本身只能實現二進制(短或長響、磁極正負)。在此之上的編碼則是另一回事了。
    Jacky
    10-10
    我覺得正常理工專業,數電模電好好學就都知道
    等待第二個戈多你為何能如此優秀
    不銹小七
    10-09
    8421碼,比如1000,就對應是8;1001就代表是9。
    D那么4是什么 5呢?
    美國洛杉磯用戶*6028
    10-09
    666
    Toi + moi
    10-09
    迷上了
    W....你拿兩個二極管懟一起給我弄個三極管出來,要求不高,能實現開關態就行。二極管和PN節是兩個概念,二極管由一個PN節組成,三極管2個,但是三極管開關特性來源于其基極足夠薄的結構特點,不是兩個二極管拼接能實現的。 你是覺得說二極管只有正向導通和反向截止所以是兩個狀態嗎?但是這是一個性質,叫單向導電性,但是還有反向擊穿嘞,線性穩壓管就靠的這個性質。更別說光靠這兩點無法實現受控源功能,也就無法實現可控的門電路,計算也就無從談起。 說到底,門電路才是二進制系統的基本,而門電路都是由三極管(實際上是可控開關)構成(非要說的話也一般有附屬的二極管做保護電路)。如果你非要扯三極管是二極管組成的,那我也只好說二極管是沙子做的,所以沙子才是計算機的基本了。 順便一提,電報也是二進制,磁盤、硬盤存儲也都是二進制,而這些和二極管八竿子打不著關系,而是受限于物理性質,本身只能實現二進制(短或長響、磁極正負)。在此之上的編碼則是另一回事了。
    D
    10-09
    我可能怕是個傻子,還是不懂
    S9ryne你去看看規則就知道了,自己就可以算了
    等待第二個戈多
    10-09
    你為何能如此優秀
    W....你拿兩個二極管懟一起給我弄個三極管出來,要求不高,能實現開關態就行。二極管和PN節是兩個概念,二極管由一個PN節組成,三極管2個,但是三極管開關特性來源于其基極足夠薄的結構特點,不是兩個二極管拼接能實現的。 你是覺得說二極管只有正向導通和反向截止所以是兩個狀態嗎?但是這是一個性質,叫單向導電性,但是還有反向擊穿嘞,線性穩壓管就靠的這個性質。更別說光靠這兩點無法實現受控源功能,也就無法實現可控的門電路,計算也就無從談起。 說到底,門電路才是二進制系統的基本,而門電路都是由三極管(實際上是可控開關)構成(非要說的話也一般有附屬的二極管做保護電路)。如果你非要扯三極管是二極管組成的,那我也只好說二極管是沙子做的,所以沙子才是計算機的基本了。 順便一提,電報也是二進制,磁盤、硬盤存儲也都是二進制,而這些和二極管八竿子打不著關系,而是受限于物理性質,本身只能實現二進制(短或長響、磁極正負)。在此之上的編碼則是另一回事了。
    不喜歡??
    10-09
    get
    W....
    10-09
    你拿兩個二極管懟一起給我弄個三極管出來,要求不高,能實現開關態就行。二極管和PN節是兩個概念,二極管由一個PN節組成,三極管2個,但是三極管開關特性來源于其基極足夠薄的結構特點,不是兩個二極管拼接能實現的。
    你是覺得說二極管只有正向導通和反向截止所以是兩個狀態嗎?但是這是一個性質,叫單向導電性,但是還有反向擊穿嘞,線性穩壓管就靠的這個性質。更別說光靠這兩點無法實現受控源功能,也就無法實現可控的門電路,計算也就無從談起。
    說到底,門電路才是二進制系統的基本,而門電路都是由三極管(實際上是可控開關)構成(非要說的話也一般有附屬的二極管做保護電路)。如果你非要扯三極管是二極管組成的,那我也只好說二極管是沙子做的,所以沙子才是計算機的基本了。

    順便一提,電報也是二進制,磁盤、硬盤存儲也都是二進制,而這些和二極管八竿子打不著關系,而是受限于物理性質,本身只能實現二進制(短或長響、磁極正負)。在此之上的編碼則是另一回事了。
    氦氖HeNe三極管理論上就是兩個二極管合一,集極射極電性能不同罷了,npn還是pnp特性不同罷了,二進制的生成就是因為二極管的兩個穩定狀態這個你不能否認吧?電子管晶體管的確是我說錯了。
    分享 返回頂部
    凤凰彩票_凤凰彩票平台_凤凰彩票官网