[Powered by Google Translate] NATE哈迪森:在二進制上的視頻中,我們將展示如何 代表整數的組,從零上升, 僅使用數字0和1。 在這段視頻中,我們將使用二進制表示法 表示文字,字母等,以及。 我們為什麼要刻意去這樣做呢? 好了,引擎蓋下,一台電腦只有真正 理解零和一的二進制數字,因為這些 可以表示容易與電磁事情。 例如,考慮一下您的計算機的內存一樣長 燈泡的字符串的,因此每個單獨的泡 表示零,如果它關閉,和一 如果它打開。 而不是使用一堆燈泡,一些現代的 內存並使用電容有低 充電到代表一個零點和一個高的電荷 代表1。 以及其他技術。 總之,以存儲在內存中的什麼,我們需要 首先把它轉換成的東西,可實際上 在物理硬件。 因此,讓我們想想我們怎麼可能代表字母 二進制表示法。 在英語中,我們已經得到了26個英文字母中的字母,A, A,B,C,D,等,我們可以分配到Z的每一個 這些數目,例如零至25,並然後使用 二進制表示法中,我們可以作為一個代表每個數字 序列的零和一。 這不是太糟糕了。 然而,這不會是不夠的。 有了這個系統,我們實際上並不能夠區分 大寫字母和小寫字母。 如果我們希望我們的計算機能夠區分 這兩種情況,那麼我們就需要一個額外的26個數字。 和什麼有關句號,逗號和 其他標點符號? 在我的鍵盤,我已經拿到了32的人,包括所有的 插入符號等特殊字符和符號。 這還不包括數字字符,零到9, 因為我們仍然希望能夠輸入十進制的數字 符號的計算機上,即使電腦只有真正的 理解二進制表示法的引擎蓋下。 最後,我們需要代表一個空格字符 我們的空間酒吧的工作。 因此,搞清楚如何來表示文字在電腦上 需要更多一點,可能比我們最初認為。 此外,假設我們再拿出我們自己的編碼 方案為數字來表示字符。 然而,我們決定字符編碼將不可避免地 任意的,正如我們所看到更早的時候,我們談到使用 數字0至25來表示字母A 到Z為什麼不使用10到35這樣我們就可以節省 0到9的數字字符? 有沒有真正的理由,我們只是選擇了一切似乎 我們最好的。 早在20世紀60年代初,這是一個真正的問題。 不同的電腦製造商使用 不同的編碼方案,這使通信 不同機器之間的一個非常艱鉅的任務。 美國國家標準協會ANSI, 成立了一個委員會,以制定一項共同計劃。 而在1963年,美國標準碼信息 交匯處,通常被稱為ASCII誕生了。 ASCII的目的是為7位編碼, 裝置的每一個字符的組合來表示 7個零和一。 與這兩個可能的值,零個或一個,對於每個 的7位,有兩個的第七或128 可以表示的ASCII字符 編碼方案。 因此,128個字符聽起來好像很多,對不對? 好了,記得有26小寫字母 英語,另外26個大寫字母,10個數字字符, 32個標點符號和特殊字符, 和一個空格字符。 這使我們在95,所以我們有33個字符, 可以代表。 那麼是什麼呢? 那麼,在的日子ASCII的發展,電傳 機,這是打字機,用於 在網絡上發送消息,廣為流傳。 這些機器有額外的字符,用來 控制它們,例如,告訴他們當移動 打印頭向下行,換行或新行鍵, 當移動到左邊距,回車, 或者乾脆返回鍵,以及什麼時候去一個空間, 退格字符,等等。 這些字符稱為控制字符,並且他們 的ASCII字符集構成的其餘部分。 因此,如果我們看一下在ASCII表中,我們可以看到,第一 32號,零到31的,留作控制的 字符。 但是,我們剛才說的,有33個控制字符。 這是怎麼回事呢? 那麼,的零的個數和127中,第一和最後的 ASCII字符集,有特殊的位模式,全0和所有 的分別。 的ASCII碼的設計者決定,因此,要 保留這些額外的特殊字符,數字, 即空字符和的DEL性格。 Null和用於編輯紙帶,使用DEL 是一種常見的方式存儲數據。 簡直是長條形紙,在紙帶 定期到磁帶上,你衝 孔,以存儲數據。 根據上的帶的寬度,將每一列 能夠容納五個,六個,七個或八個位。 要代表一個零位,你會做什麼到磁帶上,你會 只留一個空格。 對於一個位,你會打一個洞。 空字符,只留下一個空白列, 表示所有零。 DEL字符會打一個孔列滿 通過您的磁帶。 因此,您可以使用DEL字符刪除 的信息。 想像一下,一個充滿了選舉的選票,然後 沖壓所有未穿孔的洞。 您的選票無效,因為這是不可能的 什麼原票。 雖然DEL字符仍然採用的是現代 刪除鍵,空字符來被用作 C字符串和終止字符 一些其他的數據格式。 你可能知道它的的反斜線零字符, 因為這是我們如何代表它寫下來。 所以回到我們的ASCII表。 後的前32個控制字符來95 可打印字符。 有一對夫婦很酷的設計決定價值 這裡所說的。 首先,十進制數字符,0到9, 對應的數字48至57,這似乎 籍籍無名,直到我們看數字48到57 寫的二進制記數法。 如果我們這樣做,那麼我們看到的數字字符, 為零,對應於011萬,1的地圖為0110001,兩至 0110010,依此類推。 請參閱模式? 每一個數字字符映射到相應的 相當於二進制表示法中,以011開頭。 接下來,您會發現大寫字母開始,在65, 大寫的A,但小寫字母 沒有開始,直到97。 因此,有32位之間。 這似乎不可思議。 他們只有26個字母在字母表中。 為什麼把它們分開這樣嗎? 同樣,如果我們看的二進制表示,我們可以 看到一個模式。 大寫字母A代表1000001,小寫a是 為代表的1100001。 大寫的B表示的1000010,和小寫字母b是 為代表的1100010。 你們能告訴我是怎麼回事? 位,從左側的第二,在兩個到 五分之二,32ths位置,是對所有的大寫0 字母和所有的小寫字母。 這意味著從大寫轉換為小寫, (反之亦然),是一個簡單的位翻轉的問題。 所以,給我們帶來了結束的ASCII表。 你能想到的東西我們都忘了? 那麼,什麼對西班牙enye的,或 希臘或西里爾字母嗎? 關於中國的字符呢? 有很多被冷落的ASCII。 然而,另一種名為Unicode標準已經 發展到覆蓋所有的這些 字符等等。 但是,這是另一次的主題。 我的名字是Nate哈迪森。 這是CS50。