最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

計(jì)算機(jī)從業(yè)-起始篇 | 第3章.計(jì)算機(jī)科學(xué)導(dǎo)論之【數(shù)據(jù)存儲(chǔ)】學(xué)習(xí)筆記

2023-04-06 14:49 作者:全棧工程師修煉指南  | 我要投稿

B站關(guān)注「全棧工程師修煉指南點(diǎn)我,點(diǎn)我?UP主

設(shè)為「???星標(biāo)」帶你從基礎(chǔ)入門?到?全棧實(shí)踐?再到?放棄學(xué)習(xí)!

涉及?網(wǎng)絡(luò)安全運(yùn)維、應(yīng)用開發(fā)、物聯(lián)網(wǎng)IOT、學(xué)習(xí)路徑 、個(gè)人感悟?等知識(shí)分享。

希望各位看友多多支持【關(guān)注、點(diǎn)贊、評(píng)論、收藏、投幣】,助力每一個(gè)夢想。

本章目錄:

第 2 部分 數(shù)據(jù)的表示和運(yùn)算

3.數(shù)據(jù)存儲(chǔ)

3.1 數(shù)據(jù)類型

3.2 數(shù)字存儲(chǔ)

  • (1) 無/有符號(hào)數(shù)

  • (2) 整數(shù)的存儲(chǔ)

  • (3) 實(shí)數(shù)的存儲(chǔ)

  • (4) 原碼、反碼、補(bǔ)碼定義計(jì)算

3.3 文字存儲(chǔ)

3.4 音頻存儲(chǔ)

3.5 圖像存儲(chǔ)

  • (1) 光柵圖

  • (2) 矢量圖

3.6 視頻存儲(chǔ)

第 2 部分 數(shù)據(jù)的表示和運(yùn)算

描述:該部分包括第2、34章,我們分別進(jìn)行如下學(xué)習(xí)。

  • 2章討論了數(shù)字系統(tǒng),數(shù)量如何能使用符號(hào)來表示。

  • 3章討論了不同的數(shù)據(jù)如何存儲(chǔ)在計(jì)算機(jī)中。

  • 4章討論了一些基本的算術(shù)運(yùn)算與位(邏輯)運(yùn)算。

原文地址:?https://mp.weixin.qq.com/s/XmsELA7atGCwDnfIP5yMtw


3.數(shù)據(jù)存儲(chǔ)

描述:計(jì)算機(jī)是一個(gè)可編程的數(shù)據(jù)處理機(jī)器,在進(jìn)行數(shù)據(jù)的存儲(chǔ)學(xué)習(xí)前需要理解數(shù)據(jù)的特性。

3.1 數(shù)據(jù)類型

如今,數(shù)據(jù)以不同形式出現(xiàn),如數(shù)字、文本、音頻、圖像和視頻,而在計(jì)算機(jī)中常常使用多媒體來定義包含它們。

在其計(jì)算機(jī)內(nèi)部數(shù)據(jù)都是采用統(tǒng)一的數(shù)據(jù)表示法轉(zhuǎn)換后存入計(jì)算機(jī)中(無需辨別它們表示的是何種數(shù)據(jù)類型),當(dāng)數(shù)據(jù)需要從計(jì)算機(jī)輸出時(shí)在還原回來,此種通用格式稱為位模式

  • 位(bit, binary digit 縮寫) : 存儲(chǔ)在計(jì)算機(jī)中的最小單元,只有 0 或 1(電子開關(guān)),其代表設(shè)備的某一狀態(tài)。

  • 位模式: 使用其表示數(shù)據(jù)的不同類型,它是一個(gè)序列,有時(shí)被稱為位流,通常長度為8的位模式被稱為1字節(jié),例如 16個(gè)位組成的位模式?1000 1010 1111 1111(需要16個(gè)電子開關(guān))。

  • 數(shù)據(jù)壓縮:為了占用較少的(節(jié)約)內(nèi)存空間,數(shù)據(jù)在存儲(chǔ)到計(jì)算機(jī)之前通常需要被壓縮。

  • 錯(cuò)誤檢測和糾正:在傳輸和存儲(chǔ)數(shù)據(jù)時(shí),需要針對其數(shù)據(jù)進(jìn)行錯(cuò)誤檢測和糾正。

3.2 數(shù)字存儲(chǔ)

描述: 在存儲(chǔ)到計(jì)算機(jī)內(nèi)存中之前,數(shù)字被轉(zhuǎn)換到二進(jìn)制系統(tǒng),對于整數(shù)的轉(zhuǎn)換還是非常簡單,而對于小數(shù)點(diǎn),計(jì)算機(jī)使用兩種不同的表示方法即定點(diǎn) (把數(shù)字作為整數(shù)存儲(chǔ)——沒有小數(shù)部分)?和?浮點(diǎn) (把數(shù)字作為實(shí)數(shù)存儲(chǔ)——帶有小數(shù)部分)

本節(jié)講解的重點(diǎn),從計(jì)算機(jī)中有無符號(hào)位數(shù)的表示和存儲(chǔ)、整數(shù)以及實(shí)數(shù)的表示和存儲(chǔ)、到原碼、反碼、補(bǔ)碼的介紹計(jì)算。

(1) 無/有符號(hào)數(shù)

  • 無符號(hào)數(shù):即正整數(shù)與正實(shí)數(shù)。

寄存器的位數(shù)反映無符號(hào)數(shù)的表示范圍

8 位 = 2^8 = 1111 1111 (二進(jìn)制) = 0 ~ 255

16 位 = 2^16 = 1111 1111 1111 1111 (二進(jìn)制) = 0 ~ 65535

  • 有符號(hào)數(shù):即負(fù)整數(shù)與負(fù)實(shí)數(shù)。

符號(hào)表示格式:

真值數(shù):帶符號(hào)的數(shù),即帶“+”或“-”符號(hào)的數(shù)為真值。

機(jī)器數(shù):符號(hào)數(shù)字化的數(shù), 即用0,1這種表示正負(fù)的數(shù)稱為機(jī)器數(shù)。

例如:下表中帶符號(hào)的數(shù)與符號(hào)數(shù)字化的數(shù)分別對應(yīng),利用符號(hào)加絕對值表示法.

溫馨提示:從上之中我們可以看到計(jì)算機(jī)中是如何存儲(chǔ)負(fù)數(shù)的,在其值的最高位為符號(hào)標(biāo)志位,其余的為數(shù)值位。


(2) 整數(shù)的存儲(chǔ)

整數(shù)是完整的數(shù)字(即沒有小數(shù)部分),通常使用定點(diǎn)表示法(此種表示法中,小數(shù)點(diǎn)是假定的,但并不存儲(chǔ))存儲(chǔ)在內(nèi)存中,整數(shù)可以被當(dāng)作小數(shù)點(diǎn)位置固定的數(shù)字,小數(shù)點(diǎn)固定在最右邊。

為了更有效地利用計(jì)算機(jī)內(nèi)存,無符號(hào)和有符號(hào)的整數(shù)在計(jì)算機(jī)中存儲(chǔ)方式是不同的,即分為下面三種方法

無符號(hào)表示法:其只包括零和正數(shù)的非負(fù)整數(shù),它的范圍介于0到無窮大之間,該方法可以提高存儲(chǔ)的效率。

  • 1.存儲(chǔ)無符號(hào)整數(shù):首先將整數(shù)變成二進(jìn)制數(shù),如果二進(jìn)制位數(shù)不足n位,則在二進(jìn)制數(shù)的左邊補(bǔ)0,使它的總位數(shù)為n位,如果位數(shù)大于n,該整數(shù)無法存儲(chǔ),導(dǎo)致溢出的情況發(fā)生,我們后面要討論。

例如,將 7 存儲(chǔ)在 8 位存儲(chǔ)單元中,使用符號(hào)表示法
(7)10 = (111)2 = 0000 1111 (左邊加5位0)

  • 2.譯解無符號(hào)整數(shù): 即輸出設(shè)備譯解內(nèi)存中位模式的位串并轉(zhuǎn)換為一個(gè)十進(jìn)制的無符號(hào)整數(shù),可安裝二進(jìn)制轉(zhuǎn)換為十進(jìn)制步驟進(jìn)行即可。

  • 3.溢出問題:存儲(chǔ)單元的位的數(shù)量有限制,可以表達(dá)整數(shù)范圍是有限的,例如,在n位存儲(chǔ)單元中可以存儲(chǔ)的無符號(hào)整數(shù)僅為0到2^n-1,如果 20 = (10100)2 只保留4位存儲(chǔ)單元的情況下,其結(jié)果為 0100 ,因?yàn)閬G掉了左邊的位,整數(shù)顯示為 4 而不是20。

  • 4.無符號(hào)整數(shù)的應(yīng)用:

  • 計(jì)數(shù):當(dāng)我們計(jì)數(shù)時(shí),不需要負(fù)數(shù)。可以從1 (有時(shí)0)開始增長。

  • 尋址:有些計(jì)算機(jī)語言,在一個(gè)存儲(chǔ)單元中存儲(chǔ)了另一個(gè)存儲(chǔ)單元的地址。地址都是從0 (存儲(chǔ)器的第一個(gè)字節(jié))開始到整個(gè)存儲(chǔ)器的總字節(jié)數(shù)的正數(shù),在這里同樣也不需要用到負(fù)數(shù)。因此無符號(hào)整數(shù)可以輕松地完成這個(gè)工作。

  • 存儲(chǔ)其他數(shù)據(jù)類型:我們后面將談到的其他數(shù)據(jù)類型(文本、圖像、音頻和視頻)是以位模式存儲(chǔ)的,可以翻譯為無符號(hào)整數(shù)。

符號(hào)加絕對值表示法:?在存儲(chǔ)整數(shù)中該方法并不常用,但該格式用于在計(jì)算機(jī)中存儲(chǔ)部分實(shí)數(shù),用符號(hào)加絕對值格式存儲(chǔ)一個(gè)整數(shù),需要用1個(gè)二進(jìn)制位表示符號(hào)(0表示正,1表示負(fù)), 意味著在一個(gè)8位存儲(chǔ)單元中,可以僅用7位表示數(shù)字的絕對值(不帶符號(hào))。因此,最大的正數(shù)值僅是無符號(hào)最大數(shù)的一半。在n位單元可存儲(chǔ)的數(shù)字范圍是?-(2^(n-1)-1)?至?+(2^(n-1)-1).

  • 1.存儲(chǔ)有符號(hào)整數(shù): 最左位用于定義整數(shù)的符號(hào)(0表示正整數(shù),1表示負(fù)整數(shù))

    例如,使用符號(hào)加絕對值表示法將+28與-28分別存儲(chǔ)在8位存儲(chǔ)單元中。

    +28 = + (11100)2 = 0001 1100

    -28 = - (11100)2 = 1000 1100

  • 2.符號(hào)加絕對值表示法的溢出:同無符號(hào)整數(shù)一樣,有符號(hào)的整數(shù)也會(huì)溢出,并且可能有正負(fù)兩種溢出情況。

    例如,當(dāng)使用4位內(nèi)存單元存儲(chǔ)一個(gè)用符號(hào)加絕對值表示法的整數(shù)時(shí)出現(xiàn)的正負(fù)兩種溢出,當(dāng)我們試圖存儲(chǔ)一個(gè)比7大的正整數(shù)時(shí),出現(xiàn)正溢出。

  • 3.符號(hào)加絕對值表示法的應(yīng)用:符號(hào)加絕對值表示法不用于存儲(chǔ)整數(shù),而用于存儲(chǔ)部分實(shí)數(shù),我們后面會(huì)看到,此表示法通常用于釆樣模擬信號(hào),例如,音頻。

  • 二進(jìn)制補(bǔ)碼表示法: 幾乎所有的計(jì)算機(jī)都使用二進(jìn)制補(bǔ)碼表示法來存儲(chǔ)位于n位存儲(chǔ)單元中的有符號(hào)整數(shù),例如,如果n4,該范圍是00001111,這個(gè)范圍分為兩半:00000110以及10001111.這兩半按照左負(fù)右正的常規(guī)互相交換。賦值給負(fù)和非負(fù)(零和正)整數(shù)的位模式,即我們后續(xù)需要學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)的原碼、反碼、補(bǔ)碼的相關(guān)知識(shí)(此處先不展開講解)。


(3) 實(shí)數(shù)的存儲(chǔ)

實(shí)數(shù)是帶有整數(shù)部分和小數(shù)部分的數(shù)字,對于小數(shù)點(diǎn)的處理計(jì)算機(jī)適用定點(diǎn)和浮點(diǎn)?兩種不同的表示方法。

定點(diǎn)表示法:?小數(shù)點(diǎn)按約定方式標(biāo)出,但是盡管固定小數(shù)點(diǎn)的表示法(定點(diǎn))可用于表示實(shí)數(shù),但結(jié)果不一定精確或達(dá)不到需要的精度,所以帶有很大的整數(shù)部分或很小的小數(shù)部分的實(shí)數(shù)不應(yīng)該用定點(diǎn)表示法存儲(chǔ)。

例如,在十進(jìn)制系統(tǒng)中,假定我們用一種小數(shù)點(diǎn)右邊2個(gè)數(shù)碼,左邊14個(gè)數(shù)碼,總共16個(gè)數(shù)碼的定點(diǎn)表示法。那么如果試圖表示十進(jìn)制數(shù)1.002 34,該系統(tǒng)的實(shí)數(shù)精度就會(huì)受損,該系統(tǒng)會(huì)把這個(gè)數(shù)字存儲(chǔ)為1.00.


浮點(diǎn)表示法:?用于維持正確度或精度的解決方法,其允許小數(shù)點(diǎn)浮動(dòng),即可以在小數(shù)點(diǎn)的左右有不同數(shù)量的數(shù)碼,此種方法極大地增加了可存儲(chǔ)的實(shí)數(shù)范圍,所以該方法適用于表示帶有很大的整數(shù)部分或很小的小數(shù)部分的實(shí)數(shù)。

在浮點(diǎn)表示法中,無論十進(jìn)制還是二進(jìn)制,一個(gè)數(shù)字都由3部分組成,即?符號(hào)、位移量、定點(diǎn)數(shù)三部分。

  • 第一部分是符號(hào),可正可負(fù)。

  • 第二部分是位移量,顯示小數(shù)點(diǎn)應(yīng)該左右移動(dòng)構(gòu)成實(shí)際數(shù)字的位移量。

  • 第三部分是定點(diǎn)數(shù),小數(shù)點(diǎn)位置固定的定點(diǎn)表示法。

在稱作科學(xué)計(jì)數(shù)法(浮點(diǎn)表示法)的表示法中, 定點(diǎn)部分在小數(shù)點(diǎn)左邊只有1個(gè)數(shù)碼而且位移量是10的冪次。

例如,使用科學(xué)計(jì)數(shù)法表示十進(jìn)制數(shù)?7 425 000 000 000 000 000 000


例如,使用科學(xué)計(jì)數(shù)法表示數(shù)字?-0.000 000 000 000 023 2


例如,使用浮點(diǎn)格式(浮點(diǎn)表示法)表示數(shù)字-(0.00000000000000101)2


規(guī)范化:為了統(tǒng)一表示法固定部分,科學(xué)計(jì)數(shù)法(用于十進(jìn)制)和浮點(diǎn)表示法(用于二進(jìn)制)都在小數(shù)點(diǎn)左邊適用唯一非零(0)數(shù)碼。

例如,十進(jìn)制系統(tǒng)中的數(shù)碼可能是1~9,而二進(jìn)制系統(tǒng)中該數(shù)碼是1。即

符號(hào)、指數(shù)和尾數(shù): 在一個(gè)二進(jìn)制數(shù)規(guī)范化之后,只存儲(chǔ)了一個(gè)數(shù)的三部分信息:符號(hào)、指數(shù)和尾數(shù)(小數(shù)點(diǎn)右邊的位)

  • 符號(hào): 一個(gè)數(shù)的符號(hào)可以用一個(gè)二進(jìn)制位來存儲(chǔ)(01?)。

  • 指數(shù)(2的冪): 定義為小數(shù)點(diǎn)移動(dòng)的位數(shù),注意冪可以為正也可以為負(fù)。余碼表示法(后面討論)是用來存儲(chǔ)指數(shù)位的方法。

  • 尾數(shù):是指小數(shù)點(diǎn)右邊的二進(jìn)制數(shù),它定義了該數(shù)的精度,尾數(shù)是作為無符號(hào)整數(shù)存儲(chǔ)的。

溫馨提示: 小數(shù)點(diǎn)和定點(diǎn)部分左邊的位1并沒有存儲(chǔ)(即1.),它們是隱含的

溫馨提示:尾數(shù)是帶符號(hào)的小數(shù)部分,像以符號(hào)加絕對值表示法存儲(chǔ)的整數(shù)那樣對待。


余碼系統(tǒng): 正的和負(fù)的整數(shù)都可以作為無符號(hào)數(shù)存儲(chǔ),則在余碼系統(tǒng)中的所有整數(shù)都是正數(shù)。而為了表示正的或負(fù)的整數(shù),一個(gè)正整數(shù)(稱為一個(gè)偏移量)加到每個(gè)數(shù)字中,將它們統(tǒng)一移到非負(fù)的一邊,其中偏移量的值計(jì)算表達(dá)式?2^(m-1)-1,?m是內(nèi)存單元存儲(chǔ)指數(shù)的大小。

例如,對于4位存儲(chǔ)單元,則其偏移量是?2^(4-1)-1=7。

例如,我們可以用4位存儲(chǔ)單元在數(shù)字系統(tǒng)中表示16個(gè)整數(shù)。使用一個(gè)單元作為0,分開其他15個(gè)(不等地)我們可以在-7?8的范圍中表示整數(shù),如圖下圖所示。在該范圍中增加7個(gè)單位到每個(gè)整數(shù)中,可以統(tǒng)一把所有整數(shù)向右移,使其均為整數(shù)而無需改變這些整數(shù)的相對位置,避免了相互調(diào)整,如圖下圖所示,新系統(tǒng)稱為余7,或者偏移量為7的偏移表示法


IEEE 存儲(chǔ)浮點(diǎn)數(shù)的標(biāo)準(zhǔn)

IEEE 是電氣和電子工程師協(xié)會(huì),定義了幾種存儲(chǔ)浮點(diǎn)數(shù)的標(biāo)準(zhǔn),其中耳熟能詳?shù)挠?code>單精度和雙精度

  • 單精度數(shù)格式: 采用總共32位來存儲(chǔ)一個(gè)浮點(diǎn)表示法的實(shí)數(shù)。符號(hào)占用1位(0為正,1?為負(fù)),指數(shù)占用8位(使用偏移量127),尾數(shù)使用23位(無符號(hào)數(shù))。該標(biāo)準(zhǔn)有時(shí)稱為余127碼(Excess_127?),因?yàn)槠屏渴?strong>127。

  • 雙精度數(shù)格式: 釆用總共64位來存儲(chǔ)一個(gè)浮點(diǎn)表示法的實(shí)數(shù)。符號(hào)占用1(0為正,1?為負(fù)),指數(shù)占用11位(使用偏移量1023 ),尾數(shù)使用52位。該標(biāo)準(zhǔn)有時(shí)稱為余1023(Excess_1023 ),因?yàn)槠屏渴?strong>1023。

IEEE 標(biāo)準(zhǔn)浮點(diǎn)數(shù)的存儲(chǔ)

將一個(gè)實(shí)數(shù)可以存儲(chǔ)為IEEE標(biāo)準(zhǔn)浮點(diǎn)數(shù)格式的步驟如下:

  • 步驟 1.在S中存儲(chǔ)符號(hào)(0或1 )。
    步驟 2.將數(shù)字轉(zhuǎn)換為二進(jìn)制。
    步驟 3.規(guī)范化。
    步驟 4.找到E和 M的值。
    步驟 5.連接S(1位)、E(8位)和M(23位)。

例如,十進(jìn)制5.75余127碼(單精度)表示法。

例如,十進(jìn)制-0.0234375余127碼(單精度)表示法。


IEEE 標(biāo)準(zhǔn)存儲(chǔ)的浮點(diǎn)數(shù)還原

將一個(gè)被IEEE標(biāo)準(zhǔn)存儲(chǔ)的浮點(diǎn)數(shù)還原為原數(shù)字的流程如下:

  • 步驟 1)找到S、E和M的值。
    步驟 2)如果S=0,將符號(hào)設(shè)為正號(hào),否則設(shè)為負(fù)號(hào)。
    步驟 3)找到位移量(E-127).
    步驟 4)對尾數(shù)去規(guī)范化。
    步驟 5)將去規(guī)范化的數(shù)字變?yōu)槎M(jìn)制以求出絕對值。
    步驟 6)加上符號(hào)。

例如,將位模式(11001010000000000111000100001111)2以余127碼的格式存儲(chǔ)與內(nèi)存中,請求該數(shù)字原本的十進(jìn)制數(shù)。

上溢和下溢

對于浮點(diǎn)數(shù),有上溢和下溢兩種情況,例如使用32位內(nèi)存單元(余127碼)的浮點(diǎn)表示法,該表示法不能存儲(chǔ)很小或很大的絕對值。

  • 如果試圖存儲(chǔ)絕對值很小的數(shù)導(dǎo)致下溢的情況。

  • 如果試圖存儲(chǔ)絕對值很大的數(shù)導(dǎo)致上溢的情況。


零值存儲(chǔ): 當(dāng)有整數(shù)部分和小數(shù)部分的實(shí)數(shù)設(shè)置為零的時(shí)候是0.0時(shí),此時(shí)約定在這種情況下符號(hào)、指數(shù)和尾數(shù)都設(shè)為零。


截?cái)噱e(cuò)誤: 當(dāng)使用浮點(diǎn)表示法存儲(chǔ)實(shí)數(shù)時(shí)存儲(chǔ)數(shù)字的值可能不是我們希望的。例如,假定我們需要在內(nèi)存中用余

127碼表示法存儲(chǔ)這個(gè)數(shù)字:

由上圖可知小數(shù)部分右邊的3個(gè)1被截掉了,這種原始數(shù)字與還原后數(shù)字的差異稱為截?cái)噱e(cuò)誤。在使用很小或很大數(shù)字的地方,如宇航業(yè)的計(jì)算中,這種類型的錯(cuò)誤是很嚴(yán)重的。這種情況下, 我們需要更大的內(nèi)存單元 (例如,64位,雙精度) 和 其他的表示法。為此IEEE定義了用于更大尾數(shù)的其他表示法。


(4) 原碼、反碼、補(bǔ)碼定義計(jì)算

描述:說到計(jì)算機(jī)數(shù)據(jù)的表示和存儲(chǔ),不得不提到原碼、反碼、補(bǔ)碼。

  • 原碼:二進(jìn)制定點(diǎn)表示法, 即最高位為符號(hào)位?0 表示正, 1 表示負(fù), 其余位表示數(shù)值位大小,比如 (0 000 0111) B= 7 而 (1 000 0111) B = -7

  • 反碼:正數(shù)的反碼與其原碼相同, 負(fù)數(shù)的反碼時(shí)對其原碼逐位取反(符號(hào)位除外)

  • 補(bǔ)碼:正數(shù)的補(bǔ)碼與其原碼相同, 負(fù)數(shù)的補(bǔ)碼是在其反碼的末尾加1,或者在原碼減1在取反也是可以的(計(jì)算機(jī)中通常是使用補(bǔ)碼來存放負(fù)數(shù)的)。

計(jì)算機(jī)中的原碼、反碼和補(bǔ)碼快速計(jì)算了解(重點(diǎn)):


溫馨提示:

原碼在表示數(shù)字0時(shí),有兩種方式表達(dá)?(0000 0000)B = 0?與?(1000 0000)B = -0,所以顯然使用原碼來表示數(shù)值正負(fù)不合適。

反碼在表示數(shù)字0時(shí),也有兩種方式表達(dá)?(0000 0000)B = 0?與?(1111 1111)B = -0,所以顯然使用反碼來表示數(shù)值正負(fù)也是不合適。

補(bǔ)碼在進(jìn)行計(jì)算0時(shí),可以在數(shù)值位減1再取反或者在數(shù)值位取反后再加1也是可以的,其結(jié)果表示是精確的,所以顯然使用反碼來表示數(shù)值正負(fù)是非常合適的,并且計(jì)算機(jī)默認(rèn)是使用補(bǔ)碼來表示數(shù)值的(重點(diǎn))。

溫馨提示:如果將符號(hào)位 與 數(shù)值位 在運(yùn)行時(shí)進(jìn)行對其分離,但是這樣做會(huì)增加ACC累加器設(shè)計(jì)開銷過大。

舉例,求數(shù)值 7 與 - 7 的原碼、反碼、補(bǔ)碼的二進(jìn)制表示(八位寄存器)。

計(jì)算機(jī)中的原碼、反碼和補(bǔ)碼取值范圍:

原碼表示法公式(原理)

  • 整數(shù)定義

  • 小數(shù)定義



整數(shù)原碼計(jì)算示例:如 15 與 - 15 數(shù)的表示流程。

數(shù)值 = 15 -> x = + 1111 -> [x]原 = 0,1111
數(shù)值 = - 15 -> x = - 1111 -> [x]原 = 2^4 - (- 1111) = 1 0000 + 1111 = 1,1111
如果是八位寄存器就為 1000 1111 。
Tips: 其中整數(shù)位數(shù)為4位,并且使用(逗號(hào))將符號(hào)位與數(shù)值部分隔開。

小數(shù)原碼計(jì)算示例:例如 0.15 與 - 0.15 數(shù)的表示流程。

數(shù)值 = 0.15 -> x = + 0.1111 -> [x]原 = 0.1111
數(shù)值 = - 0.15 -> x = - 0.1111 -> [x]原 = 1 - (- 0.1111) = 1 + 0.1111 = 1.1111
Tips: 其中整數(shù)位數(shù)為4位.,并且使用(小數(shù)點(diǎn))將符號(hào)位與數(shù)值部分隔開。

原碼特點(diǎn): 表示簡單直觀但是在使用原碼做加法時(shí),會(huì)出現(xiàn)結(jié)果符號(hào)可正可負(fù)的問題。

正數(shù)的原碼符號(hào)位為0;數(shù)值位為其真值
負(fù)數(shù)的原碼符號(hào)位為1;數(shù)值位為其真值

補(bǔ)碼表示法公式(原理)

  • 整數(shù)定義

  • 小數(shù)定義

整數(shù)補(bǔ)碼計(jì)算示例:如 15 與 - 15 數(shù)的表示流程。

數(shù)值 = 15 -> x =1111 -> [x]補(bǔ) = 0,1111
數(shù)值 = -15 -> x = - 1111 -> [x]補(bǔ) = 2^(4+1) + (- 1111) = 10 0000 - 1111 = 1 0001
八位補(bǔ)碼形式:1111 0001
64位補(bǔ)碼形式:1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0001

正數(shù)的補(bǔ)碼符號(hào)位為0;數(shù)值位為其真值
負(fù)數(shù)的補(bǔ)碼符號(hào)位為1;數(shù)值位為其真值對應(yīng)位求反后末位加1

反碼表示法公式(原理)

  • 整數(shù)定義


  • 小數(shù)定義



整數(shù)反碼計(jì)算示例:如 15 與 - 15 數(shù)的表示流程。

數(shù)值 = 15 -> x = + 1111 -> [x]反 = 0,1111
數(shù)值 = -15 -> x = - 1111 -> [x]反 = ( 2^(4+1) - 1 ) + (- 1111) = 1 1111 - 1111 = 1 0000
八位反碼形式:1111 0000
64位補(bǔ)碼形式:1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0000

小數(shù)反碼計(jì)算示例:求?- 13 / 64?的反碼

-(8 + 4 + 1) / 64 = - ( 1/8 + 1/16 + 1/64) = -(2^3 + 2^4 + 2^6) = - (0.001101)2 = 1.110010 (反碼)

解釋:1/8?= 2^-3 化為2進(jìn)制為 (0.001)2 ,1/16?= 2^-4 化為2進(jìn)制為(0.0001)2 ,1/64= 2^-6 化為2進(jìn)制為 (0.000001)2

正數(shù)的補(bǔ)碼符號(hào)位為0;數(shù)值位為其真值
負(fù)數(shù)的補(bǔ)碼符號(hào)位為1;數(shù)值位為其真值對應(yīng)位求反


移碼表示法公式(原理)

計(jì)算步驟:

  • 方法一(簡單):在補(bǔ)碼的基礎(chǔ)上,符號(hào)位取反

  • 方法二:[e]移 = 2^k + e , -2^k <= e <= 2^k

整數(shù)移碼計(jì)算示例:如 9 與 - 9 數(shù)的表示流程。

  • x = + ( 1001 )2 , [x]補(bǔ) = (?01001 )2,[x]移 = (?11001 )2

  • x = - ( 1001 )2 , [x]反 = (?10110 )2,[x]補(bǔ) = (?10111 )2,[x]移 = (?00111 )2

舉例,求 - 13 / 64 的補(bǔ)碼

-13/64=(-0.001101)2,[x]反=1.110010 ,[x]補(bǔ)=1.110011 ,[x]移=0.110011

有整數(shù)和小數(shù)部分組合形成的數(shù)值

描述:十進(jìn)制數(shù)轉(zhuǎn)換為任意進(jìn)制數(shù) , 通常采用基數(shù)相乘法,對整數(shù)部分用除基取余法,對小數(shù)部分用乘基取整法,最后將整數(shù)和小數(shù)拼接在一起。

例如,將十進(jìn)制數(shù)123.6875轉(zhuǎn)換成二進(jìn)制數(shù),最終結(jié)果為 (1111011.1011)2


溫馨提示:小數(shù)和整數(shù)不一樣,整數(shù)可以連續(xù)表示,但小數(shù)是離散的。二進(jìn)制的小數(shù)只能表示?1/2, 1/4, ……, 1/2n, 因此無法表示所有的十進(jìn)制小數(shù)。
溫馨提示:整數(shù)與小數(shù)的二進(jìn)制最高位都在最左邊。


而在將整數(shù)和小數(shù)轉(zhuǎn)換成為八進(jìn)制或者十二進(jìn)制時(shí),在轉(zhuǎn)換時(shí)應(yīng)以小數(shù)點(diǎn)為界。

整數(shù)部分:在從小數(shù)點(diǎn)開始往左數(shù),將一串二進(jìn)制數(shù)分為3位(八進(jìn)制)一組或4位(十六進(jìn)制)一組,在數(shù)的最左邊可根據(jù)需要加“0”補(bǔ)齊;(左補(bǔ)齊)

小數(shù)部分,從小數(shù)點(diǎn)開始往右數(shù),也將一串二進(jìn)制分為3位一組或4位一組,在數(shù)的最右邊也可以根據(jù)需要加“0”補(bǔ)齊。(右補(bǔ)齊)

最終使總的位數(shù)為3或4的整數(shù)倍,然后分別用對應(yīng)的八進(jìn)制數(shù)或十六進(jìn)制數(shù)取代;

例: 將二進(jìn)制數(shù) 1111000010.01101 分別轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。


三種機(jī)器數(shù)小結(jié)

  • 最高位為符號(hào)位,書寫上用,(整數(shù))或.(小數(shù))將數(shù)值部分和符號(hào)位隔開。

  • 對于正數(shù),原碼=補(bǔ)碼=反碼。

  • 對于負(fù)數(shù),符號(hào)位為1,其數(shù)值部分原碼除符號(hào)位外每位按位取反末尾加1就為補(bǔ)碼,如果不加一就為反碼。

  • 計(jì)算機(jī)里一般使用補(bǔ)碼表示負(fù)數(shù),例如,數(shù)值-15的二進(jìn)制數(shù)為 1111 0001(8位寄存器)。

  • [y]補(bǔ) 連同符號(hào)在內(nèi),每位取反,末位加1,即得 [-y] 補(bǔ),例如 -5 的補(bǔ)碼為 1111 1011 (8位寄存器)。

  • 如下圖所顯示無符號(hào)、符號(hào)絕對值、二進(jìn)制補(bǔ)碼等表示法的對比,例如,使用4位存儲(chǔ)單元以存儲(chǔ)0?15之間的無符號(hào)整數(shù), 存儲(chǔ)單元可以存儲(chǔ)-8?+7之間的二進(jìn)制補(bǔ)碼整數(shù)。

3.3 文字存儲(chǔ)

在任何語言中,文本的片斷是用來表示該語言中某個(gè)意思的一系列的符號(hào),而在計(jì)算機(jī)中可以用位模式來表示任何一個(gè)符號(hào),例如

  • 使用26個(gè)符號(hào)(A, B, C,…,Z)來表示大寫字母

  • 使用26個(gè)符號(hào)(a, b, c, ???, z)表示小寫字母,

  • 使用10個(gè)符號(hào)(0, 1, 2,…,9)來表示數(shù)字字符(不是實(shí)際的數(shù)字,后面將看到它們的不同之處)

  • 使用單個(gè)符號(hào)(.,?,:,;,...,!)來表示標(biāo)點(diǎn)。

  • 使用特殊符號(hào)(如空格、換行和制表符)被用于文本的對齊和可讀性。

在一種語言中,位模式到底需要多少位來表示一個(gè)符號(hào)?

答: 這主要取決于該語言集中到底有多少不同的符號(hào),即在一種語言中,表示某一符號(hào)的位模式的長度取決于該語言中所使用的符號(hào)的數(shù)量。更多的符號(hào)意味著更長的位模式。

例如,如果要?jiǎng)?chuàng)建的某個(gè)虛構(gòu)的語言僅僅使用大寫英文字母,則只需要26個(gè)符號(hào),相應(yīng)地這種語言的位模式至少需要表示26個(gè)符號(hào),通常每個(gè)字母占用1字節(jié)。

例如,如果對于中文,可能需要更多的符號(hào),通常每個(gè)文字占有2~4字節(jié)(與字符編碼有關(guān))。

位模式的長度與符號(hào)的數(shù)量關(guān)系是呈對數(shù)的(其表達(dá)式為:位模式長度 = log2符號(hào)數(shù)量),如果需要2個(gè)符號(hào),位模式長度將是1位(log22=1),如果需要4個(gè)符號(hào),位模式長度將是2位(log24=2).

  • 1位的位模式能表示2種不同的形式:0,1

  • 2位的位模式能表示4種不同的形式:00, 01, 10和11

代碼與編碼區(qū)別

  • 代碼:不同的位模式集合被設(shè)計(jì)用于表示文本符號(hào),其中每一個(gè)集合我們稱之為代碼。

  • 編碼:表示符號(hào)的轉(zhuǎn)換過程被稱為編碼。

現(xiàn)代計(jì)算機(jī)中常用的編碼如下所示:

  • ASCII?: 美國信息交換標(biāo)準(zhǔn)碼,由美國國家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)開發(fā),代碼使用7位表示每個(gè)符號(hào),即該代碼可以定義2^7=128種不同的符號(hào).

  • Unicode:由硬件和軟件制造商聯(lián)合設(shè)計(jì)的編碼,設(shè)計(jì)代碼使用32位并能表示最大達(dá)2^32=4 294 967 296個(gè)符號(hào),該代碼不同部分被分配用于表示來自世界上不同語言的符號(hào),以及表示圖像和特殊符號(hào)。(PS: 如今ASCII是Unicode的一部分)

  • 其他編碼: 鑒于Unicode的優(yōu)勢,這些編碼變得不太流行,此處簡單了解即可。

字節(jié)與字符的區(qū)別

  • 字節(jié)(Byte):是計(jì)量單位,表示數(shù)據(jù)量多少,是計(jì)算機(jī)信息技術(shù)用于計(jì)量存儲(chǔ)容量的一種計(jì)量單位

  • 字符(Character):計(jì)算機(jī)中使用的字母、數(shù)字、字和符號(hào),比如'A'、'B'、'$'、'&'等字符。

現(xiàn)代計(jì)算機(jī)中不同編碼占用的字節(jié)情況(考試中以及在開發(fā)中處理中文字符時(shí)會(huì)涉及):

  • 符號(hào):英文標(biāo)點(diǎn)為一個(gè)字節(jié),中文標(biāo)點(diǎn)為兩個(gè)字節(jié)。例如:英文句號(hào)占1個(gè)字節(jié)的大小,中文句號(hào)占2個(gè)字節(jié)的大小。

  • ASCII 碼中,一個(gè)英文字母(不分大小寫)為一個(gè)字節(jié),一個(gè)中文漢字為兩個(gè)字節(jié)。

  • Unicode 編碼中,一個(gè)英文為一個(gè)字節(jié),一個(gè)中文為兩個(gè)字節(jié)。

  • UTF-8 編碼中,一個(gè)英文字為一個(gè)字節(jié),一個(gè)中文為三個(gè)字節(jié)。

  • UTF-16 編碼中,一個(gè)英文字母字符或一個(gè)漢字字符存儲(chǔ)都需要 2 個(gè)字節(jié)(Unicode 擴(kuò)展區(qū)的一些漢字存儲(chǔ)需要 4 個(gè)字節(jié))。

  • UTF-32 編碼中,世界上任何字符的存儲(chǔ)都需要 4 個(gè)字節(jié)。

3.4 音頻存儲(chǔ)

音頻表示聲音或音樂,它是隨時(shí)間變化的實(shí)體,我們只能在每一時(shí)刻度量聲音的密度。

音頻本質(zhì)上不同于數(shù)字與文本數(shù)據(jù),音頻是模擬數(shù)據(jù)的例子,即使我們能夠在一段時(shí)間度量所有的值,也不能把它全部存在計(jì)算機(jī)內(nèi)存中,因?yàn)榭赡苄枰獰o限數(shù)量的內(nèi)存單元。

所以當(dāng)我們討論用計(jì)算機(jī)內(nèi)存存儲(chǔ)聲音時(shí),我們的意思是存儲(chǔ)一個(gè)音頻信號(hào)的密度,例如,每隔一段時(shí)間(一秒鐘,一小時(shí))來自麥克風(fēng)的信號(hào)。

采樣、量化、編碼

計(jì)算機(jī)中要存儲(chǔ)音頻的需要進(jìn)行采樣、量化、編碼等關(guān)鍵操作步驟:

采樣: 我們需要在模擬信號(hào)上選擇數(shù)量有限的點(diǎn)來度量它們的值并記錄下來,例如上圖中音頻信號(hào)我們選擇10個(gè)樣本,我們可以記錄這些值來表現(xiàn)模擬信號(hào)。

Q: 下一個(gè)邏輯問題是我們每秒鐘需要多少樣本才能還原出原始信號(hào)的副本?

如果信號(hào)是平坦的,則需要很少的樣本;如果信號(hào)變化劇烈,則需要更多的樣本,所以說樣本數(shù)量依賴于模擬信號(hào)中變化的最大數(shù)量。

采樣率:通常每秒40 000個(gè)樣本的釆樣率對音頻信號(hào)來說是足夠好的。

量化: 指的是將樣本的值截取為最接近的整數(shù)值的一種過程(可以理解為四舍五入),從每個(gè)樣本測量來的值是真實(shí)的數(shù)字, 為每個(gè)樣本使用一個(gè)無符號(hào)的數(shù)(位模式)會(huì)更簡便,所以需要針對其進(jìn)行量化。

例如,如果實(shí)際的值為17.2,就可截取為17; 如果值為17.7,就可截取為18。

編碼:量化的樣本值需要被編碼成位模式,某一些系統(tǒng)為樣本賦正值或負(fù)值,另一些僅僅移動(dòng)曲線到正的區(qū)間從而只賦正值,換言之,一些系統(tǒng)使用無符號(hào)整數(shù)來表示樣本,而另一些使用有符號(hào)的整數(shù)來做。

  • 毎樣本位: 對于每個(gè)樣本系統(tǒng)需要決定分配多少位 ,每樣本位的數(shù)量有時(shí)稱為位深度,盡管在過去僅有8位分配給聲音樣本,現(xiàn)在每樣本16、24甚至32位都是正常的。

  • 位率:如果我們稱位深度或每樣本位的數(shù)量為B,每秒樣本數(shù)為S,我們需要為每秒的音頻存儲(chǔ)SxB位,該乘積有時(shí)稱為位率R。

    例如,如果我們使用每秒40 000個(gè)樣本以及每樣本16 位,位率是R=40 000 x 16=640 000 b/s=640 KB/s。

聲音編碼標(biāo)準(zhǔn)
當(dāng)今音頻編碼的主流標(biāo)準(zhǔn)是MP3 (MPEG Layer3的簡寫,它是用于視頻壓縮方法的MPEG (動(dòng)態(tài)圖像專家組)標(biāo)準(zhǔn)的一個(gè)修改版),除此之外還有AAC 、AC-3、AMR、WMA、ALAC、APE、FLAC、PCM、DSD、WAV、AIFF、MIDI等主流音頻編碼格式解析。

  • MP3 : 最通用最常見的格式, 它采用每秒44 100個(gè)樣本以及每樣本16 位, 結(jié)果信號(hào)達(dá)到705 600 b/s的位率,再用去掉那些人耳無法識(shí)別的信息的壓縮方法進(jìn)行壓縮。 (有損壓縮)

  • AAC : 高級(jí)音頻編碼(Advanced Audio Coding)的縮寫,是新一代的音頻有損壓縮技術(shù),在蘋果設(shè)備上是最為常用的格式,其格式后綴名有aac,mp4,m4a三種。(有損壓縮)

  • AC-3:數(shù)字音頻壓縮標(biāo)準(zhǔn) (Digital Audio Compression Standard)音頻編碼格式,是傳說中的杜比實(shí)驗(yàn)室的杰作,著名的有損數(shù)據(jù)壓縮的多媒體儲(chǔ)存格式, 可以包括多達(dá)6個(gè)獨(dú)立的聲道,其最知名的是5.1聲道技術(shù)。(有損壓縮)

  • AMR:自適應(yīng)多速率(Adaptive Multi-Rate)壓縮音頻編碼格式,是一個(gè)使語音編碼最優(yōu)化的專利,專用于有效地壓縮語音頻率, 主要用于移動(dòng)設(shè)備的音頻壓縮,壓縮比非常高,但是音質(zhì)比較差,主要用于語音類的音頻。(有損壓縮)

  • WMA: (Windows Media Audio),它是微軟公司推出的與MP3格式齊名的一種新的音頻格式。由于WMA在壓縮比和音質(zhì)方面都超過了MP3,在較低的采樣頻率下也能產(chǎn)生較好的音質(zhì),其后綴名為.wma, 但這種格式通常只能使用 Windows 自帶的 MediaPlayer 來播放,與純音頻的媒體串流格式.ASF 類似。(無損壓縮)

  • ALAC: (Apple Lossless Audio Codec) 蘋果的無損音頻壓縮編碼格式,ALAC與MP3的主要分別在于編碼過程中,MP3會(huì)取消小部分高頻及低頻部分的音頻數(shù)據(jù),而ALAC則會(huì)如實(shí)記錄,不會(huì)刪除音頻中任何細(xì)節(jié)數(shù)據(jù)。(無損壓縮)

  • APE:它是Monkey’s Audio 公司提供的一種無損壓縮音頻格式,它可以通過無損壓縮技術(shù)使龐大的 WAV 文件壓縮掉近一半而基本不怎么損失音質(zhì)。并且這個(gè)格式是完全的免費(fèi)和開源。(無損壓縮)

  • FLAC:損音頻壓縮編碼(Free Lossless Audio Codec。FLAC是一種著名的自由音頻壓縮編碼,其特點(diǎn)是無損壓縮,不同于其他有損壓縮編碼如MP3 及AAC,它不會(huì)破壞任何原有的音頻資訊,其后綴格式為.flac。(無損壓縮)

  • PCM: 脈沖編碼調(diào)制(Pulse Code Modulated Audio),是目前計(jì)算機(jī)應(yīng)用中最高保真水平的音頻編碼格式,PCM音頻數(shù)據(jù)是未經(jīng)壓縮的音頻采樣數(shù)據(jù)裸流,它是由模擬信號(hào)經(jīng)過采樣、量化、編碼轉(zhuǎn)換成的標(biāo)準(zhǔn)的數(shù)字音頻數(shù)據(jù),通常CD唱片都采用此格式。(無壓縮)

  • DSD:直接比特流數(shù)字(Direct Stream Digital)相對于PCM的最大優(yōu)勢是,具有極小的量化噪聲, 超高的信噪比,這是音樂發(fā)燒友才會(huì)玩的格式。(無壓縮)

  • WAV:是微軟公司(Microsoft)開發(fā)的一種聲音文件格式,它是最接近無損的音樂格式,所以文件大小相對也比較大,也是很多音頻處理軟件默認(rèn)保存的音頻格式。(無壓縮)

  • AIFF:音頻交換文件格式(Audio Interchange File Format)的英文縮寫,是Apple公司開發(fā)的一種聲音文件格式,是為了對抗微軟的WAV而開發(fā)。(無壓縮)

  • MIDI(Musical Instrument Digital Interface)格式被經(jīng)常玩音樂的人使用,MIDI允許數(shù)字合成器和其他設(shè)備交換數(shù)據(jù)。最大作用在于用電腦音樂作曲。所以它并不是錄制的聲音而是制作出的聲音,其后綴格式為?.mid。(無壓縮)

3.5 圖像存儲(chǔ)

在計(jì)算機(jī)中存儲(chǔ)圖像使用兩種不同的技術(shù):光柵圖或矢量圖。

(1) 光柵圖

當(dāng)我們需要存儲(chǔ)模擬圖像(如照片)時(shí),就用到了光柵圖(或位圖),一張照片由模擬數(shù)據(jù)組成,不同的是數(shù)據(jù)密度(色彩)因空間變化,而不是因時(shí)間變化,同樣需要針對其樣本數(shù)據(jù)進(jìn)行采樣(掃描)。

樣本稱為像素(代表圖像元素),換言之,整個(gè)圖像被分成小的像素,每個(gè)像素假定有單獨(dú)的密度值。

1.解析度: 在圖像處理中的掃描率稱為解析度,如果解析率足夠高,人眼不會(huì)看出在重現(xiàn)圖像中的不連續(xù)。

2.色彩深度: 用于表現(xiàn)像素的位的數(shù)量,即色彩深度,依賴于像素的顏色是如何由不同的編碼技術(shù)來處理的,我們的眼睛有不同類型的感光細(xì)胞,一些響應(yīng)紅、黃、藍(lán)三原色(也叫RGB), 而另一些僅僅響應(yīng)光的密度。

  • 真彩色:用于像素編碼的技術(shù)之一稱為真彩色,它使用24位來編碼一個(gè)像素(可以表達(dá) 16777216 種顏色),在該技術(shù)中每個(gè)三原色(RGB)都表示為8位,所以每種色彩都由0?255之間的三維數(shù)字表示。

  • 索引色:索引色(或調(diào)色板色)模式僅使用真彩色里其中的一部分,因?yàn)檎娌噬J绞褂昧顺^1600萬種的顏色,許多應(yīng)用程序不需要如此大的顏色范圍,在該模式中每個(gè)應(yīng)用程序從大的色彩集中選擇一些顏色(通常是256種)并對其建立索引,對選中的顏色賦一個(gè)0?255之間的值,對索引的使用減少了需要存儲(chǔ)一個(gè)像素所需要的位的數(shù)量。(PS: 類似藝術(shù)家可能在他們的畫室用到很多種顏色,但一次僅用到他們調(diào)色板中的一些。)

    例如,真彩模式需要24位來儲(chǔ)存一個(gè)像素,索引色模式通常使用256個(gè)索引,這需要8位來存儲(chǔ)同樣的像素。

    例如,一部高質(zhì)量的數(shù)碼相機(jī)要用幾乎3百萬像素拍攝一張3X5英寸的相片。

    真彩色模式存儲(chǔ)所需要的位的數(shù)量:3 000 000 x 24 = 72 000 000

    索引色模式存儲(chǔ)所需要的位的數(shù)量:3 000 000 x 8 = 24 000 000

3.圖像編碼標(biāo)準(zhǔn)

在計(jì)算機(jī)中常用的圖像編碼的標(biāo)準(zhǔn)是JPEG、PNG、GIF等

  • JPEG(Joint Photographic Experts Group):是JPEG標(biāo)準(zhǔn)的產(chǎn)物,該標(biāo)準(zhǔn)由國際標(biāo)準(zhǔn)化組織(ISO)制訂,是面向連續(xù)色調(diào)靜止圖像的一種壓縮標(biāo)準(zhǔn),使用真彩色模式,使用壓縮圖像來減少位的數(shù)量,常用格式后綴名為.jpg或.jpeg

  • PNG(Portable Network Graphics):便攜式網(wǎng)絡(luò)圖形,是一種采用無損壓縮算法的位圖格式,支持索引、灰度、RGB三種顏色方案以及Alpha通道等特性.

  • GIF (Graphics Interchange Format):圖形交換格式,它是一種位圖,使用索引色模式。

溫馨提示:光柵圖有兩個(gè)缺點(diǎn),即文件體積太大和重新調(diào)整圖像大小有麻煩,放大光柵圖像意味著擴(kuò)大像素,所以放大后的圖像看上去很粗糙。


擴(kuò)展知識(shí):?一個(gè)字節(jié)8比特,像素通常表示位圖(bitmap)中的一個(gè)點(diǎn)。

  • 對于 黑白圖像(二值圖像)一個(gè)詳像素用一個(gè)bit表示,所以1字節(jié)表示8像素

  • 對于 灰度圖,一個(gè)像素為 256 種狀態(tài)正好2的8次方,因此1字節(jié)表示1像素

  • 對于 RGB 圖,一個(gè)像素為 256 x 256 x 256 種狀態(tài)正好2的24次方,因此3字節(jié)表示1像素


(2) 矢量圖

矢量圖圖像編碼方法并不存儲(chǔ)每個(gè)像素的位模式,一個(gè)圖像被分解成幾何圖形的組合。

矢量圖是由定義如何繪制這些形狀的一系列命令構(gòu)成的,當(dāng)要顯示或打印圖像時(shí),將圖像的尺寸作為輸入傳給系統(tǒng),于此同時(shí)系統(tǒng)會(huì)重新設(shè)計(jì)圖像的大小并用相同的公式畫出圖像,所以每次繪制圖像時(shí)公式也將重新估算一次,因此矢量圖也稱為幾何模型或面向?qū)ο髨D形。

矢量圖適合應(yīng)用程序采用主要的幾何元素來創(chuàng)建圖像。它用于諸如Flash這樣的應(yīng)用程序,以及創(chuàng)建TrueType?(微軟、蘋果公司)和PostScript?(Adobe公司)字體,計(jì)算機(jī)輔助設(shè)計(jì)(CAD)也使用矢量圖進(jìn)行工程繪圖。

例如,線段、矩形或圓形,每個(gè)幾何形狀由數(shù)學(xué)公式表達(dá)。
例如,線段可以由它端點(diǎn)的坐標(biāo)描述,圓可以由它的圓心坐標(biāo)和半徑長度來描述。
例如,使用矢量圖繪制出半徑為r的圓形,程序需要繪制該圓的主要信息如下:

  • 一個(gè)圓的半徑r。

  • 圓心的位置。

  • 繪制的線型和顏色。

  • 填充的類型和顏色。

溫馨提示:當(dāng)該圓的大小改變時(shí),程序改變半徑的值并重新計(jì)算這些信息以便再繪制一個(gè)圓,改變圖像大小不會(huì)改變繪圖的質(zhì)量。

溫馨提示:矢量圖不適合存儲(chǔ)照片圖像的細(xì)微精妙,推薦使用JPEGGIF光柵圖提供了更好和更生動(dòng)的圖片。


3.6 視頻存儲(chǔ)

視頻是圖像(稱為幀)在時(shí)間上的表示,一部電影就是一系列的幀一張接一張地播放而形成運(yùn)動(dòng)的圖像,換言之,視頻是隨空間(單個(gè)圖像)和時(shí)間(一系列圖像)變化的信息表現(xiàn)。

所以在計(jì)算機(jī)中我們也就知道如何儲(chǔ)存視頻,它將每一幅圖像或幀轉(zhuǎn)化成一系列位模式并儲(chǔ)存,將這些圖像組合起來就可表示視頻。

溫馨提示:現(xiàn)在視頻通常是被壓縮存儲(chǔ)的,常常使用的?MPEG(Moving Picture Experts Group,動(dòng)態(tài)圖像專家組)技術(shù)針對常視頻進(jìn)行壓縮。


本文至此完畢,更多技術(shù)文章,盡情等待下篇好文!

原文地址:https://blog.weiyigeek.top/2022/6-2-694.html

親,文章都看完了,不關(guān)注一下嗎?

如果此篇文章對你有幫助,請你將它分享給更多的人!

學(xué)習(xí)書籍推薦?往期發(fā)布文章?

作者答疑學(xué)習(xí)交流群:歡迎各位志同道合的朋友一起學(xué)習(xí)交流關(guān)注UP主后回復(fù)【學(xué)習(xí)交流群】。

??歡迎加入交流學(xué)習(xí)群:https://weiyigeek.top/visit.html

WeiyiGeek Blog's - 花開堪折直須折,莫待無花空折枝?】
作者主頁:【?https://weiyigeek.top?】
博客地址:【?https://blog.weiyigeek.top?】
作者交流(wechat):weiyigeeker
公眾號(hào)(wechat):全棧工程師修煉指南

溫馨提示: 由于作者水平有限,本章錯(cuò)漏缺點(diǎn)在所難免,希望讀者批評(píng)指正,并請?jiān)谖恼履┪擦粝履鷮氋F的經(jīng)驗(yàn)知識(shí),聯(lián)系郵箱地址?master@weiyigeek.top?或者?UP主 、UP主?聯(lián)系我。

計(jì)算機(jī)從業(yè)-起始篇 | 第3章.計(jì)算機(jī)科學(xué)導(dǎo)論之【數(shù)據(jù)存儲(chǔ)】學(xué)習(xí)筆記的評(píng)論 (共 條)

分享到微博請遵守國家法律
确山县| 日照市| 新丰县| 吴川市| 景东| 龙江县| 资溪县| 皋兰县| 宁武县| 武冈市| 东海县| 绥芬河市| 北辰区| 赣榆县| 古蔺县| 斗六市| 平乡县| 休宁县| 蓝山县| 罗江县| 孟连| 德惠市| 扎兰屯市| 尤溪县| 武义县| 密云县| 二手房| 宽甸| 昭苏县| 孟连| 苏尼特左旗| 石渠县| 类乌齐县| 奎屯市| 札达县| 绵阳市| 广安市| 利津县| 南宫市| 边坝县| 来凤县|