Oh! You closed up the window, so you cannot see raining

[CS50] Lec 0 - Introduction to Computer Science

什麼是 Computer Science(CS)? CS 意在解決問題,更精準地說,是將問題 (input) 轉換成答案 (output) 的過程。 在計算機的世界,為了表達 inputs 和 outputs,我們必須將資訊標準化來儲存與操作它們,因為計算機只讀得懂 0 與 1 (開路/通路)。 如何表達數字? 在人類的世界,人們使用十進制(Decimal)。 在計算機的世界,用的是二進制(Binary),也就是 0 與 1。 \(1+1=10\) \((1,2,3,4,5,6,7,…)_{10}=(001,010,011,100,101,110,111,…)_2\) 每個二進制的位元(digit)稱為 bit。 在現代計算機結構中,是由數以億計的電晶體(transistors)所組成的。 電晶體是一種具有開關(switch)性質的邏輯元件。 大部分的計算機一次用 8 個 bits,或稱 1 bytes,來表達數字。 \(8 \text{bits}=1 \text{bytes}\) 如何表達文字? 要表達文字,只需將不同的字元定義到對應的數字即可。 ASCII,American Standard Code for Information Interchange,即是一種基於拉丁字母的編碼系統,可應用顯示現代英語。 A->65, B->66, …etc a->97, b->98, …etc H->72, I->73, !->33, so HI!=72, 73, 33 在不同語言,有不同的字符,就必須定義新的編碼系統,來容納更多的字符。 如 Unicode。 如 emojo 顏文字也是一種字符。 如何表達顏色? 同理,可以把不同的數字定義給不同的顏色,其中最常見的就是 RGB 系統。 由紅綠藍色塊所組成。 紅、綠、藍又個別以 8 bits 儲存的 256 種不同層度的顏色強度表示。 一共由 24 bits 來表達,超過1百萬種顏色。 那圖案、影片、音樂呢? 圖案是由數以萬計的色塊(dots)所組成,在螢幕顯示器上我們稱作畫素(pixels)。 影片則是由連續的圖案經由連續播放所建構而成的。 音樂同樣可以用 bits 來表達,其中 MIDI 是一種用數字來表達音符的形式。 All are composed by 0 and 1 in the computer world. ...

<span title='2022-02-23 00:43:18 +0800 +0800'>February 23, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;Rain Hu