<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一些數(shù)據(jù)在計(jì)算機(jī)中的儲(chǔ)存與表示

      我們都知道,在計(jì)算機(jī)中,數(shù)據(jù)是由二進(jìn)制進(jìn)行存儲(chǔ)和讀取輸出的。那么,在計(jì)算機(jī)中,數(shù)、字符、圖片、聲音和視頻怎么用二進(jìn)制存儲(chǔ)和讀取輸出的呢?

      數(shù)的存儲(chǔ)和讀取輸出

      整數(shù)的存儲(chǔ)和讀取輸出

      整數(shù)的存儲(chǔ)和讀取輸出應(yīng)該說(shuō)是最簡(jiǎn)答的讀取輸出方法了。如果是個(gè)正整數(shù),那就直接轉(zhuǎn)換為二進(jìn)制進(jìn)行存儲(chǔ)。如果是個(gè)負(fù)整數(shù),先把其絕對(duì)值轉(zhuǎn)換為二進(jìn)制,然后符號(hào)位為 \(1\)(代表負(fù)數(shù)),然后以其補(bǔ)碼的形式(先對(duì)非符號(hào)位取反,再對(duì)取反的結(jié)果 \(+1\))存儲(chǔ)。想要讀取輸出,對(duì)于非負(fù)數(shù),直接轉(zhuǎn)換成十進(jìn)制即可;反之,先把補(bǔ)碼變成原碼,符號(hào)位改為 \(0\),轉(zhuǎn)換為十進(jìn)制后在前面添個(gè)負(fù)號(hào)上去即可。

      浮點(diǎn)數(shù)的存儲(chǔ)和讀取輸出

      浮點(diǎn)數(shù),也就是小數(shù),是參照 IEEE(電氣和電子工程師協(xié)會(huì),Institute of Electrical and Electronics Engineers)的 IEEE 754 標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)和讀取輸出的。其中,又劃分為單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)。兩者的差別僅在于精度,存儲(chǔ)和讀取輸出方法沒(méi)有差異。

      單精度浮點(diǎn)數(shù)

      \(32\) bit 存儲(chǔ),分成三部分:

      • 符號(hào)位:占 \(1\) 位,\(0\) 讀取輸出正數(shù),\(1\) 讀取輸出負(fù)數(shù)。
      • 指數(shù)位:占 \(8\) 位,為表達(dá)正負(fù)指數(shù),存儲(chǔ)指數(shù)需加偏移值 \(127\)。指數(shù)實(shí)際范圍能達(dá) \(-126\sim127\),指數(shù)域編碼值范圍是 \(1\sim254\)\(0\)\(255\) 為特殊值,用于代表非規(guī)格數(shù)、無(wú)窮大或 NaN。
      • 尾數(shù)位:占 \(23\) 位。規(guī)格化尾數(shù)默認(rèn)首位為 \(1\),存儲(chǔ)省略此 \(1\),僅存小數(shù)部分。例如尾數(shù)為 \(1.011\),則存入的尾數(shù)位是 \(011\),位數(shù)不足時(shí)低位補(bǔ) \(0\)

      雙精度浮點(diǎn)數(shù)

      \(64\) bit 存儲(chǔ),同樣分為三部分:

      • 符號(hào)位:占 \(1\) 位,\(0\) 讀取輸出正數(shù),\(1\) 讀取輸出負(fù)數(shù)。
      • 指數(shù)位:占 \(11\) 位,偏移值是 \(1023\),指數(shù)實(shí)際范圍為 \(-1022\sim1023\),指數(shù)域編碼 \(1\sim2046\) 對(duì)應(yīng)正常情況。\(0\)\(2047\) 保留用于特殊情況。
      • 尾數(shù)位:占 \(52\) 位。規(guī)格化尾數(shù)省略首位 \(1\),存儲(chǔ)小數(shù)部分。

      讀取輸出方法

      \[\left(-1\right)^{\text{符號(hào)位}}\times\left(1+\text{尾數(shù)位}\right)\times2^{\left(\text{指數(shù)位}-\text{偏移值}\right)} \]

      特殊情況定義

      指數(shù)位為 \(0\) 指數(shù)位為 \(255\)
      尾數(shù)位為 \(0\) \(\pm0\)(由符號(hào)位決定) \(\pm\infty\)(由符號(hào)位決定)
      尾數(shù)位不為 \(0\) 非規(guī)格化數(shù)(用于讀取輸出接近零的極小值,無(wú)隱含的首位 \(1\) NaN(用來(lái)讀取輸出無(wú)實(shí)效運(yùn)算結(jié)果,例如 \(\dfrac{0}{0}\)\(\sqrt{-1}\) 等)

      \(1\) —— 浮點(diǎn)數(shù)特殊情況定義

      字符的存儲(chǔ)和讀取輸出

      我們平時(shí)用電腦,不僅僅只是會(huì)碰見(jiàn)數(shù),最常見(jiàn)的就是碰到字符對(duì)吧。那么這些字符是如何轉(zhuǎn)換為二進(jìn)制進(jìn)行存儲(chǔ)和讀取輸出的呢?

      我們不難想到,可以把字符一一映射到一個(gè)數(shù)上面,然后進(jìn)行二進(jìn)制存儲(chǔ)。于是,聰明的人類就發(fā)明出了 ASCII 碼(美國(guó)信息交換標(biāo)準(zhǔn)代碼,American Standard Code for Information Interchange)。它是一套基于拉丁字母的字符編碼系統(tǒng),最初用于在計(jì)算機(jī)和通信設(shè)備之間統(tǒng)一信息交換的字符讀取輸出方式,包含了大小寫字母、數(shù)字、標(biāo)點(diǎn)符號(hào)以及控制字符等,共定義了 \(128\) 個(gè)字符(\(0\sim127\)),每個(gè)字符用 \(7\) 位二進(jìn)制數(shù)讀取輸出。

      \(1\) —— ASCII 碼表

      比如我要存儲(chǔ) Hello, world!,那么我就查詢其 ASCII 碼表,把字符映射成整數(shù),然后轉(zhuǎn)成二進(jìn)制進(jìn)行存儲(chǔ)。想讀取輸出也很簡(jiǎn)單,只要做個(gè)逆操作:讀取二進(jìn)制,轉(zhuǎn)換為 ASCII 碼,然后看看是哪個(gè)映射到這個(gè)值的。

      字符 H e l l o , w o r l d !
      ASCII \(72\) \(101\) \(108\) \(108\) \(111\) \(44\) \(32\) \(119\) \(111\) \(114\) \(108\) \(100\) \(33\)
      二進(jìn)制 \(\texttt{0100 1000}\) \(\texttt{0110 0101}\) \(\texttt{0110 1100}\) \(\texttt{0110 1100}\) \(\texttt{0110 1111}\) \(\texttt{0010 1100}\) \(\texttt{0010 0000}\) \(\texttt{0111 0111}\) \(\texttt{0110 1111}\) \(\texttt{0111 0010}\) \(\texttt{0110 1100}\) \(\texttt{0110 0100}\) \(\texttt{0010 0001}\)

      \(2\) —— Hello, world! 對(duì)應(yīng)的 ASCII 碼及二進(jìn)制

      但是我們要讀取輸出的字符不僅僅只是英文那么簡(jiǎn)單啊,我們還要讀取輸出中文(如:你好,世界!)、日文(如:こんにちは、世界!)、emoji(如:??)等等,光是中文漢字都有 \(10,000\) 多個(gè),這遠(yuǎn)遠(yuǎn)超出了 ASCII 能讀取輸出的范圍。于是,人們又弄出了一套 Unicode 編碼,這個(gè)編碼幾乎覆蓋了全世界的語(yǔ)言的所有字符(包括中文、日文、韓文、阿拉伯文、西里爾文等),以及大量符號(hào)(如數(shù)學(xué)符號(hào)、 emoji 等)。這個(gè)編碼有常見(jiàn)的 \(3\) 種方案:UTF-8、UTF-16 以及 UTF-32。

      如果我要存儲(chǔ) 漢あ?? 三個(gè)字符,先映射到 Unicode 編碼碼點(diǎn)中,然后查找二進(jìn)制。想要讀取輸出就進(jìn)行一次逆操作:先讀取二進(jìn)制,轉(zhuǎn)換為 Unicode 編碼,再查找是哪個(gè)字符映射過(guò)來(lái)的。這里以 UTF-8 為例子。

      字符 ??
      Unicode 碼點(diǎn) \(27721\) \(12354\) \(128522\)
      二進(jìn)制 \(\texttt{11100110 10110001 10001001}\) \(\texttt{11100011 10000010 10000010}\) \(\texttt{11110000 10011111 10011000 10001010}\)

      \(3\) —— 漢あ?? 對(duì)應(yīng)的 Unicode 碼點(diǎn)及二進(jìn)制

      圖片的存儲(chǔ)和讀取輸出

      我們使用電腦時(shí)碰見(jiàn)圖片應(yīng)該也是常見(jiàn)的(上文的 ASCII 碼表就是一張圖片)。那么,圖片又是如何在計(jì)算機(jī)中存儲(chǔ)和讀取輸出的呢?

      我們都知道,一張圖片是由很多很多像素點(diǎn)組成的。每一個(gè)像素點(diǎn)都有一個(gè) RGB(紅、綠、藍(lán),Red, Green, Blue)值。我們就拿一個(gè)表存下這個(gè)圖片所有像素點(diǎn)的 R 值、G 值、B 值,再轉(zhuǎn)換為二進(jìn)制存儲(chǔ)。當(dāng)然,如果這個(gè)圖片有透明度,根據(jù)不同的圖片格式,如果這個(gè)圖片是 PNG 格式,需要增加一個(gè)字節(jié)來(lái)讀取輸出透明度,\(0\) 讀取輸出全透明,\(255\) 讀取輸出不透明,這個(gè)透明度的值越小,越透明,反之亦然;如果這個(gè)圖片是個(gè) GIF 格式,只需要增加一位,\(0\) 讀取輸出透明,\(1\) 讀取輸出不透明。JPEG 和 BMP 格式的圖片無(wú)法渲染透明度。讀取輸出時(shí),根據(jù)每一個(gè) RGB 值和透明度值渲染每一個(gè)像素,再拼湊出這個(gè)圖案。

      當(dāng)然,除了靜態(tài)圖,還有動(dòng)態(tài)圖。動(dòng)態(tài)圖就是記錄每一幀的圖片數(shù)據(jù),然后記錄每一幀的時(shí)長(zhǎng)、整體循環(huán)次數(shù),以及記錄一些幀間規(guī)則。記錄的這些東西都是一個(gè)一個(gè)的數(shù),可以直接轉(zhuǎn)換為二進(jìn)制存儲(chǔ)。讀取輸出時(shí),通過(guò)讀取記錄的每一個(gè)數(shù)據(jù),把每一幀于每一幀之間通過(guò)幀間時(shí)長(zhǎng)和一些其他的規(guī)則,把動(dòng)態(tài)的畫面展示出來(lái)。

      聲音的存儲(chǔ)和讀取輸出

      我們聽(tīng)歌的時(shí)候就會(huì)碰到聲音。那么計(jì)算機(jī)又是怎么存儲(chǔ)聲音的呢?其實(shí)本質(zhì)就是把模擬聲音信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并以二進(jìn)制形式存儲(chǔ),核心步驟包括 “模擬信號(hào)數(shù)字化” 和 “數(shù)字?jǐn)?shù)據(jù)的編碼與存儲(chǔ)”。

      模擬聲音信號(hào)的數(shù)字化

      自然界的聲音(如人聲、樂(lè)器聲)是連續(xù)的模擬信號(hào)(隨時(shí)間連續(xù)變化的聲波),而計(jì)算機(jī)只能處理離散的數(shù)字信號(hào)(\(0\)\(1\)),因此需要通過(guò) “模數(shù)轉(zhuǎn)換(ADC)” 將模擬聲音轉(zhuǎn)為數(shù)字形式,包含三個(gè)核心步驟:

      1. 采樣:按固定時(shí)間間隔截取模擬聲波的瞬時(shí)振幅,將連續(xù)的聲波 “離散化” 為一系列采樣點(diǎn)。采樣頻率(單位:Hz)越高,越接近原始聲音細(xì)節(jié)。
      2. 量化:將每個(gè)采樣點(diǎn)的振幅(模擬量)轉(zhuǎn)換為有限個(gè)離散的數(shù)字值(整數(shù)),確定每個(gè)采樣點(diǎn)的 “音量大小”。因離散化導(dǎo)致的原始信號(hào)與數(shù)字信號(hào)的差異,位數(shù)越高,誤差越小,聲音越細(xì)膩。
      3. 編碼:將量化后的整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)(\(0\)\(1\)),并添加同步信息、糾錯(cuò)碼等,形成可存儲(chǔ)的數(shù)字音頻流。

      讀取輸出聲音

      要從二進(jìn)制轉(zhuǎn)回聲音,卻不是向字符映射那么簡(jiǎn)單做個(gè)逆運(yùn)算就行的。首先需要讀取存儲(chǔ)的數(shù)據(jù),明確采樣率、量化數(shù)以及聲道數(shù)等方便后續(xù)處理。接著,借助數(shù)字模擬轉(zhuǎn)換器(DAC)把解碼后的 PCM 二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為模擬電壓或電流信號(hào)。DAC 的工作原理是將二進(jìn)制數(shù)字量譯碼后,把每一位依權(quán)值大小轉(zhuǎn)換為對(duì)應(yīng)的模擬量,再匯總這些模擬量得到最終模擬輸出信號(hào)。例如 R-2R 梯形電阻網(wǎng)絡(luò) DAC 可按 \(2\) 的冪次方比例將各二進(jìn)制位轉(zhuǎn)成對(duì)應(yīng)電流,求和后輸出匹配的模擬值。經(jīng) DAC 轉(zhuǎn)換的模擬信號(hào)常帶有高頻噪聲及混疊產(chǎn)物,需利用低通濾波器消除高于音頻頻段的信號(hào)成分。濾波器依據(jù)奈奎斯特采樣定理設(shè)置截止頻率,像針對(duì) \(44.1\) kHz 采樣的音頻,濾波器可將 \(22.05\) kHz 以上的高頻成分濾除,使輸出的模擬信號(hào)更平滑,接近原始模擬聲音信號(hào)。濾波后的模擬音頻信號(hào)通常強(qiáng)度較弱,要通過(guò)音頻放大器增強(qiáng)其功率,達(dá)到能驅(qū)動(dòng)揚(yáng)聲器或耳機(jī)等發(fā)聲設(shè)備的水平。最后,揚(yáng)聲器或耳機(jī)依據(jù)模擬信號(hào)的電壓或電流變化振動(dòng)發(fā)聲,讓人們聽(tīng)到對(duì)應(yīng)的聲音。

      視頻的存儲(chǔ)和讀取輸出

      視頻,其實(shí)就是動(dòng)圖和聲音的結(jié)合體。其主要就是對(duì)動(dòng)圖和聲音進(jìn)行一個(gè)封裝,同步時(shí)間戳,然后轉(zhuǎn)換為二進(jìn)制文件。對(duì)于如何存儲(chǔ)動(dòng)圖和聲音,請(qǐng)見(jiàn)上文。

      讀取輸出視頻,首先就是讀取二進(jìn)制并解析封裝格式、編碼類型、時(shí)間戳規(guī)則等,然后分離視頻流和音頻流。接著,對(duì)視頻流和音頻流解碼(具體內(nèi)容請(qǐng)見(jiàn)上文),接著,音畫同步輸出。

      尾聲

      以上就是這篇文章的全部了,感謝各位讀者的閱讀。由于作者知識(shí)有限,有哪些地方寫得不好或者有錯(cuò)誤的,歡迎大家評(píng)論區(qū)指出。

      posted @ 2025-08-17 14:54  longyitongxue  閱讀(21)  評(píng)論(0)    收藏  舉報(bào)
      名言與時(shí)間展示頁(yè)

      ? 2024 名言展示頁(yè)

      主站蜘蛛池模板: 人妻无码中文字幕| 精品国产乱子伦一区二区三区| 国产乱子伦一区二区三区四区五区| 国产成人精品一区二三区| 99久久er热在这里只有精品99| 丰满少妇高潮惨叫久久久| 无码人妻精品一区二区三区下载| 国产对白老熟女正在播放| 日本夜爽爽一区二区三区| 久久这里都是精品一区| 久久综合开心激情五月天| 欧美丰满熟妇xxxx性大屁股| 人禽无码视频在线观看| 无码日韩精品一区二区三区免费 | 中文字幕在线无码一区二区三区| 色综合天天综合网天天看片| 亚洲最大成人在线播放| 欧美无人区码suv| 亚洲国产成人综合精品| 日韩av裸体在线播放| 亚洲av伦理一区二区| 国产精品va在线观看无码不卡| 亚洲国产日韩a在线播放| 亚洲欧美自偷自拍视频图片| 日本新janpanese乱熟| 国产精品伊人久久综合网| 无码中文av波多野结衣一区| 一区二区不卡国产精品| 亚洲暴爽av天天爽日日碰| 亚洲经典在线中文字幕| 国产成人a在线观看视频| 国产精品亚洲综合一区二区| 久久精品女人天堂av| 国产精品九九九一区二区| 精品视频不卡免费观看| 页游| 亚洲精品久久久蜜桃| 337P日本欧洲亚洲大胆精品555588| 和艳妇在厨房好爽在线观看| 部精品久久久久久久久| 青青热在线精品视频免费观看|