2023年12月9日發(fā)(作者:落葉歸根前一句)

圖片二進(jìn)制編碼_書香講CS之四丨計(jì)算機(jī)中的二進(jìn)制
二進(jìn)制數(shù)字
之前我們制作出了邏輯門,讓計(jì)算機(jī)可以表示邏輯“真”或“假”。但是只靠這兩個(gè)狀態(tài),我們沒法表達(dá)更多的信息。這時(shí),我們就需要了
解一些數(shù)學(xué)了。別緊張,這個(gè)可能比你初中學(xué)的數(shù)學(xué)還要簡(jiǎn)單!
用一個(gè)二進(jìn)制的數(shù)可以表示“真”或“假”,我們用數(shù)字的方式計(jì)為 1 或 0。想要表達(dá)更多的信息怎么辦呢?讓我們想想十進(jìn)制的數(shù),一個(gè)
數(shù)字可以表示 0 ~ 9,如果想表示 10 以上的數(shù)字,我們就在前面加上一位,就能表示出 0 ~ 99 的數(shù)字。二進(jìn)制也是同樣,通過在前面添
加位數(shù),可以表達(dá)更多的信息。
用十進(jìn)制舉例來說,數(shù)字 183 代表了什么呢?它表示了 1 個(gè) 100、8 個(gè) 10 以及 3 個(gè) 1 全部加起來:
183 = 1 × 100 + 8 × 10 + 3 × 1
注意我們乘的每個(gè)數(shù)都比右邊的大 10 倍,因?yàn)槊恳晃粩?shù)字可以表示 10 個(gè)數(shù)字(0 ~ 9),只有超過 9 的才會(huì)加一位。這樣基于每一位都有
10 個(gè)數(shù)字的計(jì)數(shù)方式,就是十進(jìn)制。
二進(jìn)制的原理是一樣的,只不過它每一位只有 2 個(gè)可能的數(shù)字(0、1),所以我們要乘的每個(gè)數(shù)都比右邊的大兩倍,不再是 100、10、1,
而變成了 4、2、1。比如說二進(jìn)制數(shù) 101,就代表了 1 個(gè) 4、0 個(gè) 2、1 個(gè) 1 相加,等于十進(jìn)制的 5:
101 = 1 × 4 + 0 × 2 + 1 × 1
為了表示更多的信息,我們會(huì)有更長(zhǎng)的二進(jìn)制數(shù),比如說 10110111,就代表了十進(jìn)制的 183:
10110111= 128 × 1 + 0 × 64 + 1 × 32 + 1 × 16 + 0 × 8 + 1 × 4 + 1 × 2 + 1 × 1= 183
二進(jìn)制計(jì)算
二進(jìn)制的加減計(jì)算也很簡(jiǎn)單,我們同樣還是從十進(jìn)制舉例。當(dāng)我們計(jì)算 183 + 19 的時(shí)候,我們從個(gè)位開始,每一位對(duì)應(yīng)相加,如果加出
來的結(jié)果大于 10,就向下一位進(jìn)一位。
同樣,我們用二進(jìn)制來計(jì)算,結(jié)果是一樣的。
計(jì)算機(jī)中的二進(jìn)制數(shù)
計(jì)算機(jī)中,二進(jìn)制數(shù)的每一位叫做 “比特(bit)”。一個(gè) 8 個(gè)比特的數(shù)字最小是 0,最大是 11111111(255),總共能表示 256 個(gè),也就
是 2 的 8 次方個(gè)不同的數(shù)字。
在計(jì)算機(jī)中,我們處理的二進(jìn)制位數(shù)都是 8 位的倍數(shù),以至于我們給每 8 個(gè)比特單獨(dú)起了個(gè)名叫做 “字節(jié)(Byte)”。你可能聽過 KB 、
MB、GB、TB,他們的單位都是字節(jié),前面的字母代表了數(shù)量級(jí):KB 代表一千字節(jié),MB 代表一百萬字節(jié),GB 代表十億字節(jié),而 TB 就
代表了一萬億個(gè)字節(jié),也就是 8 萬億個(gè) 0 和 1!
以前我們玩的“8 位機(jī)”,就代表他們的數(shù)據(jù)都是用 8 個(gè)比特來表示的。而現(xiàn)在的計(jì)算機(jī)一般都是 64 位機(jī)。一個(gè)“8 位圖像”,就代表它每一個(gè)像素點(diǎn)的顏色由 8 個(gè)比特來表示,也就是每個(gè)點(diǎn)可以有 256 種可能的顏色;而“32 位圖像”就表示
每個(gè)點(diǎn)可能有 2 的 32 次方,也就是 4,294,967,296 這么多種顏色,那可清晰多了!
8 位圖片
64 位圖片
負(fù)數(shù)、非整數(shù)
并不是所有的數(shù)字都是正數(shù),一般計(jì)算機(jī)會(huì)用第 1 位作為標(biāo)志位來表示正負(fù),1 表示是負(fù)數(shù),0 表示是正數(shù)。例如一個(gè) 32 位的數(shù),第一位
表示正負(fù),剩下的 31 位表示數(shù)字,能表示的范圍就大概是 -2,147,483,648 ~ 2,147,483,648。
表示小數(shù)的規(guī)則相對(duì)復(fù)雜些,目前較常用的是 IEEE 754 標(biāo)準(zhǔn)。它將 32 位數(shù)設(shè)置成了 1 個(gè)正負(fù)標(biāo)志位(S)、8 個(gè)指數(shù)位(E)、23 個(gè)有效數(shù)
字位(M),最后表示的數(shù)字(V)計(jì)算公式如下:
ASCII 碼,計(jì)算機(jī)中的字符表示
除了數(shù)字以外,計(jì)算機(jī)還通過給每個(gè)字符編上代碼的方式,用二進(jìn)制來表示文字。1963 年發(fā)明的 ASCII 碼(美國(guó)信息交換標(biāo)準(zhǔn)代碼)一直通
用到現(xiàn)在。ASCII 碼由 7 位二進(jìn)制數(shù)表示,可以表達(dá) 128 個(gè)不同的字符,包括了大寫字母、小寫字母、數(shù)字 0 ~ 9,大部分標(biāo)點(diǎn)符號(hào)及一
些換行符、制表符等特殊符號(hào)。
比如說:字母“A”就由 65 表示,字母“b”是由 98 表示,標(biāo)點(diǎn)“!”就用 33 表示等等。
ASCII 碼表
UNICODE
ASCII 碼簡(jiǎn)單易用,它使用不長(zhǎng)于一個(gè)字節(jié)長(zhǎng)度的二進(jìn)制編碼來解決了字符的問題。但是,ASCII 碼卻有個(gè)明顯的缺陷:它只能供英語使
用,其他國(guó)家的文字,比如中文有數(shù)千個(gè)常用字,根本沒法用一個(gè)字節(jié)來編碼。
各個(gè)國(guó)家都研究了自己的多字節(jié)編碼方案,但因?yàn)楦鱾€(gè)國(guó)家(或地區(qū))的編碼方案互不通用,就會(huì)導(dǎo)致在不同系統(tǒng)之間產(chǎn)生亂碼問題。例如,
以前我們玩臺(tái)灣或日本開發(fā)的計(jì)算機(jī)游戲,打開是亂碼顯示,需要使用轉(zhuǎn)碼器才能正常玩耍,就是這個(gè)原因。
1992 年,Unicode 誕生了,它統(tǒng)一了所有編碼的標(biāo)準(zhǔn),解決了不同國(guó)家不同編碼標(biāo)準(zhǔn)的問題。常見的 Unicode 是 16 位的,可以表達(dá)超
過一百萬個(gè)字符,足夠覆蓋所有語言的每個(gè)字符了 —— 100 多種語言的字母(文字)大概占了 12 萬個(gè)位置、剩下的還可以表示各種標(biāo)點(diǎn)符
號(hào)、數(shù)學(xué)符號(hào)、甚至 Emoji 表情!
其他編碼
除了 ASCII 碼,Unicode 編碼表示字符以外,還有其他常見的例如 MP3、PNG、MP4 等等各種編碼格式,可以用來表達(dá)聲音、圖片、視
頻等信息。我們?cè)谟?jì)算機(jī)中見到的照片、音樂、電影、游戲、網(wǎng)頁(yè)、甚至操作系統(tǒng),它們歸根到底都是一串很長(zhǎng)的“0、1”比特!
之后
了解了計(jì)算機(jī)基本的表達(dá)形式:二進(jìn)制,以及它的計(jì)算以及編碼,接下來,我們就會(huì)真正走進(jìn)計(jì)算機(jī)的“計(jì)算”方式,看看在計(jì)算機(jī)內(nèi)部是
怎么操作這些二進(jìn)制,來幫助人們完成工作的。下期見!
相關(guān)閱讀:
書香講 CS 系列之開篇
書香講 CS 之二丨電子計(jì)算機(jī)
書香講 CS 之三丨布爾邏輯與邏輯門
本文發(fā)布于:2023-12-09 16:24:49,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/1702110289116268.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:圖片二進(jìn)制編碼_書香講CS之四丨計(jì)算機(jī)中的二進(jìn)制.doc
本文 PDF 下載地址:圖片二進(jìn)制編碼_書香講CS之四丨計(jì)算機(jī)中的二進(jìn)制.pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |