位和字節(jié)的工作原理



隨機彩色二進制數(shù)! 馬特杰莫/蓋蒂圖片社
如果您使用計算機超過五分鐘,那么您已經(jīng)聽到了以下單詞 位 和 字節(jié).雙 公羊 和 硬盤 容量以字節(jié)為單位,在文件查看器中檢查文件大小時也是如此。
您可能會聽到一則廣告,上面寫著:“此計算機具有 32 位 奔騰處理器與 64 兆 字節(jié) 內(nèi)存和 2.1 千兆字節(jié) 許多 HowStuffWorks 文章都談到了字節(jié)(例如, 光盤的工作原理).在本文中,我們將討論位和字節(jié),以便您有一個完整的理解。
十進制數(shù)
理解位的最簡單方法是將它們與您知道的東西進行比較: 數(shù)字.數(shù)字是可以容納 0 到 9 之間的數(shù)值的單個位置。數(shù)字通常分組組合在一起以創(chuàng)建更大的數(shù)字。例如,6,357 有四位數(shù)字。據(jù)了解,在數(shù)字6357中,7填補了“1s位”,而5號填補了10s位,3填補了100s位,6填補了1000s位。因此,如果您想明確,您可以通過這種方式表達事物:
(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357
另一種表達方式是使用 10的冪.假設(shè)我們要用“^”符號來表示“提高到冪”的概念(所以“10平方”寫成“10^2”),另一種表達方式是這樣的:
(6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (7 * 10^0) = 6000 + 300 + 50 + 7 = 6357
從這個表達式中可以看出,每個數(shù)字都是一個 占 位 符 對于下一個更高的 10 次冪,從第一個數(shù)字開始,10 的冪增加到零的冪。
這應(yīng)該感覺很舒服 - 我們每天都使用十進制數(shù)字。數(shù)字系統(tǒng)的巧妙之處在于,沒有什么可以強迫您在一個數(shù)字中有 10 個不同的值。我們 基數(shù)-10 數(shù)字系統(tǒng)可能是因為我們有 10 個手指而長大的,但如果我們碰巧進化到有 8 個手指,我們可能會有一個以 8 為基數(shù)的數(shù)字系統(tǒng)。你可以有基數(shù)系統(tǒng)。事實上,在不同情況下使用不同的基礎(chǔ)有很多很好的理由。
計算機碰巧使用以 2 為基數(shù)的數(shù)字系統(tǒng)運行,也稱為 二進制數(shù)系統(tǒng) (就像以 10 為基數(shù)的數(shù)字系統(tǒng)稱為十進制數(shù)字系統(tǒng)一樣)。在下一節(jié)中了解其工作原因和工作原理。
Base-2 系統(tǒng)和 8 位字節(jié)
計算機使用base-2系統(tǒng)的原因是因為它使使用當前的電子技術(shù)實現(xiàn)它們變得更加容易。你可以連接并制造以10為基數(shù)運行的計算機,但它們現(xiàn)在非常昂貴。另一方面,base-2 計算機相對便宜。
所以計算機使用二進制數(shù),因此使用 二進制數(shù)字 代替十進制數(shù)字。這個詞 位 是單詞“二進制digIT”的縮寫。 十進制數(shù)字有 10 個可能的值,范圍從 0 到 9,而位只有兩個可能的值:0 和 1。因此,二進制數(shù)僅由 0 和 1 組成,如下所示:1011。你如何計算二進制數(shù) 1011 的值是多少?您的操作方式與上面對 6357 的操作相同,但您使用以 2 為基數(shù)而不是以 10 為基數(shù)。所以:
(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11
您可以看到,在二進制數(shù)中,每個位都保存 2 的冪遞增值。這使得二進制計數(shù)變得非常容易。從零開始到 20,以十進制和二進制計數(shù)如下所示:
0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
13 = 1101
14 = 1110
15 = 1111
16 = 10000
17 = 10001
18 = 10010
19 = 10011
20 = 10100
查看此序列時,十進制和二進制數(shù)系統(tǒng)的 0 和 1 是相同的。在數(shù)字2處,你看到攜帶首先發(fā)生在二進制系統(tǒng)中。如果某個位為 1,并且您向其添加 1,則該位變?yōu)?0,下一個位變?yōu)?1。在從 15 到 16 的過渡中,此效果滾動 4 位,將 1111 變?yōu)?10000。
比特在計算機中很少單獨出現(xiàn)。它們幾乎總是捆綁在一起到 8 位集合中,這些集合稱為 字節(jié).為什么一個字節(jié)有 8 位?一個類似的問題是,“為什么一打雞蛋中有12個? 8位字節(jié)是人們在過去50年中通過反復試驗確定的東西。
一個字節(jié)中有 8 位,您可以表示 256 個值,范圍從 0 到 255,如下所示:
0 = 00000000
1 = 00000001
2 = 00000010
...
254 = 11111110
255 = 11111111
在文章中 光盤的工作原理,您將了解到 CD 每個樣本使用 2 個字節(jié)或 16 位。這為每個樣本提供了從 0 到 65,535 的范圍,如下所示:
0 = 00000000000000000
1 = 0000000000000001
2 = 0000000000000010
...
65534 = 1111111111111110
65535 = 1111111111111111
接下來,我們將研究字節(jié)的使用方式。
標準 ASCII 字符集
字節(jié)經(jīng)常用于保存文本文檔中的單個字符。在 ASCII 字符集,則 0 到 127 之間的每個二進制值都被賦予一個特定的字符。大多數(shù)計算機擴展 ASCII 字符集以使用字節(jié)中可用的 256 個字符的全部范圍。上面的 128 個字符處理特殊內(nèi)容,例如常見外語中的重音字符。
您可以在下面看到 127 個標準 ASCII 代碼。計算機存儲文本文檔,兩者都在 磁盤 和在 記憶,使用這些代碼。例如,如果在 Windows 95/98 中使用記事本創(chuàng)建一個包含“四分七年前”字樣的文本文件,則記事本將為每個字符使用 1 個字節(jié)的內(nèi)存(包括單詞之間的每個空格字符 - ASCII 字符 32 的 1 個字節(jié))。當記事本將句子存儲在磁盤上的文件中時,該文件還將包含每個字符和每個空格 1 個字節(jié)。
試試這個實驗:在記事本中打開一個新文件,并在其中插入句子“四分七年前”。將文件以名稱保存到磁盤 蓋蒂.txt.然后使用資源管理器并查看文件的大小。您會發(fā)現(xiàn)該文件在磁盤上的大小為 30 字節(jié):每個字符 1 個字節(jié)。如果在句子末尾添加另一個單詞并重新保存,文件大小將跳轉(zhuǎn)到適當?shù)淖止?jié)數(shù)。每個字符消耗一個字節(jié)。
如果你像計算機一樣查看文件,你會發(fā)現(xiàn)每個字節(jié)包含的不是字母,而是一個數(shù)字——數(shù)字是對應(yīng)于字符的 ASCII 代碼(見下文)。因此,在磁盤上,文件的數(shù)字如下所示:
F o you are a n d s e v e n
70 111 117 114 32 97 110 100 32 115 101 118 101 110
通過查看 ASCII 表,您可以看到每個字符與使用的 ASCII 代碼之間的一對一對應(yīng)關(guān)系。請注意,空格使用 32 -- 32 是空格的 ASCII 代碼。如果我們想在技術(shù)上正確,我們可以將這些十進制數(shù)擴展到二進制數(shù)(所以 32 = 00100000) - 這就是計算機真正處理事物的方式。
前 32 個值(0 到 31)是回車符和換行符等代碼。空格字符是第 33 個值,后跟標點符號、數(shù)字、大寫字符和小寫字符。要查看所有 127 個值,請查看 Unicode.org的圖表.
接下來我們將學習字節(jié)前綴和二進制數(shù)學。
字節(jié)前綴和二進制數(shù)學
當你開始談?wù)摵芏嘧止?jié)時,你就會進入 前綴 如千、兆和千兆,如千字節(jié)、兆字節(jié)和千兆字節(jié)(也縮寫為 K、M 和 G,如千字節(jié)、兆字節(jié)和千兆字節(jié)或 KB、MB 和 GB)。下表顯示了 二元的 乘數(shù):
基洛 (K)
2^10 = 1,024
兆豐 (M)
2^20 = 1,048,576
千兆 (G)
2^30 = 1,073,741,824
泰拉 (T)
2^40 = 1,099,511,627,776
佩塔 (P)
2^50 = 1,125,899,906,842,624
Exa (E)
2^60 = 1,152,921,504,606,846,976
澤塔(Z)
2^70 = 1,180,591,620,717,411,303,424
約塔 (Y)
2^80 = 1,208,925,819,614,629,174,706,176
你可以在這張圖表中看到,公斤大約是一千,兆是大約一百萬,千兆大約是十億,依此類推。因此,當有人說“這臺計算機有一個 2 GB 的硬盤驅(qū)動器”時,他或她的意思是硬盤驅(qū)動器存儲 2 千兆字節(jié),或大約 20 億字節(jié),或正好是 2,147,483,648 字節(jié)。你怎么可能需要 2 GB 的空間?當你考慮那個 光盤 可容納 650 兆字節(jié),您可以看到只需三張 CD 的數(shù)據(jù)就可以填滿整個東西!如今,TB級數(shù)據(jù)庫相當普遍,并且可能有一些PB級數(shù)據(jù)庫漂浮在周圍。 五角大樓 到現(xiàn)在為止。
二進制數(shù)學的工作方式與十進制數(shù)學類似,只是每個位的值只能 0 或 1.為了了解二進制數(shù)學,讓我們從十進制加法開始,看看它是如何工作的。假設(shè)我們要添加 452 和 751:
452
+ 751
---
1203
要將這兩個數(shù)字相加,請從右側(cè)開始:2 + 1 = 3。沒關(guān)系。接下來,5 + 5 = 10,因此您保存零并將 1 帶到下一個位置。接下來,4 + 7 + 1(因為進位)= 12,所以你保存 2 并攜帶 1。最后,0 + 0 + 1 = 1。所以答案是1203。
二進制加法的工作方式完全相同:
010
+ 111
---
1001
從右側(cè)開始,第一個數(shù)字為 0 + 1 = 1。沒有攜帶那里。第二個數(shù)字有 1 + 1 = 10,所以保存 0 并攜帶 1。對于第三個數(shù)字,0 + 1 + 1 = 10,因此保存零并攜帶 1。對于最后一個數(shù)字,0 + 0 + 1 = 1。所以答案是1001。如果你把所有的東西都翻譯成十進制,你可以看到它是正確的:2 + 7 = 9。
若要了解如何使用門實現(xiàn)布爾加法,請參閱 布爾邏輯的工作原理.
總而言之,以下是我們對位和字節(jié)的了解:
位是二進制數(shù)字。位可以保存值 0 或 1。
每個字節(jié)由 8 位組成。
二進制數(shù)學的工作方式與十進制數(shù)學類似,但每個位的值只能為 0 或 1。
真的沒有什么比這更簡單了——比特和字節(jié)就是這么簡單。
責任編輯:David
【免責聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對本文的引用持有異議,請聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學習使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點,拍明芯城不對內(nèi)容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責任的權(quán)利。
拍明芯城擁有對此聲明的最終解釋權(quán)。