日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

鳥哥的 Linux 私房菜 -- 計算機概論 -- 計算機

系統(tǒng) 2013 0

鳥哥的 Linux 私房菜 -- 計算機概論 -- 計算機:輔助人腦的好工具

最近更新日期:2009/08/03


數(shù)據(jù)表示方式

?

事實上我們的計算機只認識0與1,記錄的數(shù)據(jù)也是只能記錄0與1而已,所以計算機常用的數(shù)據(jù)是二進位的。
但是我們?nèi)祟惓S玫臄?shù)值運算是十進位,文字方面則有非常多的語言,臺灣常用的語言就有英文、中文(又分正體與簡體中文)、日文等。
那么計算機如何記錄與顯示這些數(shù)值/文字呢?就得要透過一系列的轉(zhuǎn)換才可以啦!底下我們就來談?wù)剶?shù)值與文字的編碼系統(tǒng)羅!

?


數(shù)字系統(tǒng)

?

早期的計算機使用的是利用通電與否的特性的真空管,如果通電就是1,沒有通電就是0,
后來沿用至今,我們稱這種只有0/1的環(huán)境為二進位制,英文稱為binary的哩。所謂的十進位指的是逢十進一位,
因此在個位數(shù)歸為零而十位數(shù)寫成1。所以所謂的二進位,就是逢二就前進一位的意思。

那二進位怎么用呢?我們先以十進位來解釋好了。如果以十進位來說,3456的意義為:

3456 = 3x10 3 + 4x10 2 + 5x10 1 +
6x10 0

特別注意:『 任何數(shù)值的零次方為1 』所以10 0 的結(jié)果就是1羅。
同樣的,將這個原理帶入二進位的環(huán)境中,我們來解釋一下1101010的數(shù)值轉(zhuǎn)為十進位的話,結(jié)果如下:

1101010=1x2 6 + 1x2 5 + 0x2 4 +
1x2 3 + 0x2 2 + 1x2 1 + 0x2 0

= 64 + 32 + 0x16 + 8 + 0x4 + 2 + 0x1 = 106

這樣你了解二進位的意義了嗎?二進位是計算機基礎(chǔ)中的基礎(chǔ)喔!了解了二進位后,八進位、十六進位就依此類推啦!
那么知道二進位轉(zhuǎn)成十進位后,那如果有十進位數(shù)值轉(zhuǎn)為二進位的環(huán)境時,該如何計算?
剛剛是乘法,現(xiàn)在則是除法就對了!我們同樣的使用十進位的106轉(zhuǎn)成二進位來測試一下好了:

?



圖3.1.1、十進位轉(zhuǎn)二進位的方法

?

最后的寫法就如同上面的紅色箭頭,由最后的數(shù)字向上寫,因此可得到1101010的數(shù)字羅!
這些數(shù)字的轉(zhuǎn)換系統(tǒng)是非常重要的,因為計算機的加減乘除都是使用這些機制來處理的!
有興趣的朋友可以再參考一下其他計算計概論的書籍中,關(guān)於1的補數(shù)/2的補數(shù)等運算方式喔!

?


文字編碼系統(tǒng)

?

既然計算機都只有記錄0/1而已,甚至記錄的數(shù)據(jù)都是使用byte/bit等單位來記錄的,那么文字該如何記錄啊?
事實上文字檔案也是被記錄為0與1而已,而這個檔案的內(nèi)容要被取出來查閱時,必須要經(jīng)過一個編碼系統(tǒng)的處理才行。
所謂的『編碼系統(tǒng)』可以想成是一個『字碼對照表』,他的概念有點像底下的圖示:

?



圖3.2.1、數(shù)據(jù)參考編碼表的示意圖

?

當(dāng)我們要寫入檔案的文字數(shù)據(jù)時,該文字數(shù)據(jù)會由編碼對照表將該文字轉(zhuǎn)成數(shù)字后,再存入檔案當(dāng)中。
同樣的,當(dāng)我們要將檔案內(nèi)容的數(shù)據(jù)讀出時,也會經(jīng)過編碼對照表將該數(shù)字轉(zhuǎn)成對應(yīng)的文字后,再顯示到螢?zāi)簧稀?
現(xiàn)在你知道為何瀏覽器上面如果編碼寫錯時,會出現(xiàn)亂碼了嗎?這是因為編碼對照表寫錯,
導(dǎo)致對照的文字產(chǎn)生誤差之故啦!

常用的英文編碼表為ASCII系統(tǒng) ,這個編碼系統(tǒng)中,
每個符號(英文、數(shù)字或符號等)都會占用1bytes的記錄,
因此總共會有2 8 =256種變化。至於 中文字當(dāng)中的編碼系統(tǒng)目前最常用的就是big5這個編碼表了
每個中文字會占用2bytes,理論上最多可以有2 16 =65536,亦即最多可達6萬多個中文字。
但是因為big5編碼系統(tǒng)并非將所有的位都拿來運用成為對照,所以并非可達這么多的中文字碼的。
目前big5僅定義了一萬三千多個中文字,很多中文利用big5是無法成功顯示的~所以才會有造字程序說。

big5碼的中文字編碼對於某些數(shù)據(jù)庫系統(tǒng)來說是很有問題的,某些字碼例如『許、蓋、功』等字,
由於這幾個字的內(nèi)部編碼會被誤判為單/雙引號,在寫入還不成問題,在讀出數(shù)據(jù)的對照表時,
常常就會變成亂碼。不只中文字,其他非英語系國家也常常會有這樣的問題出現(xiàn)啊!

為了解決這個問題,由國際組織ISO/IEC跳出來制訂了所謂的 Unicode編碼系統(tǒng),
我們常常稱呼的UTF8或萬國碼的編碼就是這個咚咚
。因為這個編碼系統(tǒng)打破了所有國家的不同編碼,
因此目前網(wǎng)際網(wǎng)絡(luò)社會大多朝向這個編碼系統(tǒng)在走,所以各位親愛的朋友啊,記得將你的編碼系統(tǒng)修訂一下喔!

鳥哥的 Linux 私房菜 -- 計算機概論 -- 計算機:輔助人腦的好工具


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 夏河县| 富源县| 蓝山县| 陆丰市| 新泰市| 连平县| 宁强县| 漾濞| 松阳县| 兖州市| 根河市| 金秀| 灵山县| 江津市| 长白| 九龙县| 丰县| 斗六市| 湛江市| 普兰县| 崇仁县| 景洪市| 永安市| 皋兰县| 呼和浩特市| 鄂温| 辽阳县| 达孜县| 华池县| 城步| 克拉玛依市| 烟台市| 东港市| 历史| 施秉县| 江永县| 河北省| 棋牌| 西乌| 桂阳县| 临夏县|