基礎:計算機是什麼
位元、位元組與字組(bit, byte, word)
電腦裡的一切,都建立在對一個「是或否」問題所能給的最小答案之上。一個電燈開關不是開就是關;一個位元不是 1 就是 0。這真的就是電腦最根本所儲存的全部——浩瀚如海的這些微小開關。數字、文字、照片與程式,全都不過是位元的模式,依約定被分組與詮釋。
位元很小,所以我們以群組為單位工作。一個位元組是 8 個位元的群組,是記憶體的標準小單位;單一位元組能取 2^8 = 256 種不同模式,足以代表一個文字字元或一個小數字。一個字組是某顆特定處理器一次自然處理的塊——現代機器上常是 32 或 64 個位元。字組大小是個關鍵的結構數字:一台 64 位元機器一次搬移與運算 64 位元的字組,能直接定址極大範圍的記憶體,而較舊的 32 位元機器以 32 位元的字組工作。
把這些弄清楚能省去無盡的混淆:網路速度通常以每秒位元數計,檔案大小卻以位元組計,混在一起時一個數字可能會差到八倍。而且雖然今天位元組普世都是 8 位元,字組大小卻不是跨機器固定的——它是結構的一項屬性,這正是從 32 位元跳到 64 位元運算之所以是件大事的原因。數字與文字更深入的編碼,住在資料表示法那個領域;這裡我們只需要這套詞彙。
0b01000001 是一個位元組,八個位元。當成字元碼讀,它是字母 A;當成普通數字讀,它是 65。同樣的位元,不同的約定詮釋——這份彈性正是重點所在。
一個位元是一個開關,一個位元組是八個,一個字組是機器一次處理的量。
今天位元組到處都是 8 位元,但字組大小是依結構而定的(32 與 64 位元有差)。而每秒位元數對每秒位元組數,是個值得牢記的「差八倍」陷阱。
又称
另见