新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中的字及字節(jié)詳解

單片機(jī)中的字及字節(jié)詳解

作者: 時(shí)間:2011-09-20 來(lái)源:網(wǎng)絡(luò) 收藏
  節(jié)(Byte 發(fā)音:/‘bait/):節(jié)是通過(guò)網(wǎng)絡(luò)傳輸信息(或在硬盤(pán)或內(nèi)存中存儲(chǔ)信息)的單位。
  在ASCII碼中,一個(gè)英文母(不分大小寫(xiě))占一個(gè)的空間,一個(gè)中文漢字占兩個(gè)的空間。
  符號(hào):英文標(biāo)點(diǎn)占一個(gè),中文標(biāo)點(diǎn)占兩個(gè)字節(jié)。舉例:英文句號(hào)“.”占1個(gè)字節(jié)的大小,中文句號(hào)“?!闭?個(gè)字節(jié)的大小
  一個(gè)二進(jìn)制數(shù)字序列,在計(jì)算機(jī)中作為一個(gè)數(shù)字單元,一般為8位二進(jìn)制數(shù),換算為十進(jìn)制最小值:0 最大值:255 如一個(gè)ASCII碼就是一個(gè)字節(jié),此類(lèi)單位的換算為:
  1 艾字節(jié)(EiB,Exbibyte)=1024拍字節(jié)(2的60次方字節(jié))
  (1EiB=1024PiB)
  
  1 拍字節(jié)(PB,Pebibyte)=1024太字節(jié)(2的50次方字節(jié))
 ?。?PiB=1024TiB)
  1太字節(jié)(TiB,Tebibyte)=1024吉字節(jié)(2的40次方字節(jié))
 ?。?TiB=1024GiB)
  1吉字節(jié)(GiB,Gibibyte)=1024兆字節(jié)(2的30次方字節(jié))
 ?。?GiB=1024MiB)
  1兆字節(jié)(MiB,Mebibyte)=1024千字節(jié)(2的20次方字節(jié))
  (1MiB=1024KiB)
  1千字節(jié)(KiB,Kilibyte)=1024字節(jié)(2的10次方字節(jié))(1KiB=1024B)
  1字節(jié)(Byte)= 8位(bit)
  
   注意:MiB和MB,KiB和KB等的區(qū)別:
   1KB(kilobyte)=1000byte
  1KiB(kibibyte)=1024byte
  1MB(megabyte)=1000000byte
  1MiB(mebibyte)=1048576byte
  這是因?yàn)橛脖P(pán)生產(chǎn)商是以GB(十進(jìn)制,即10的3次方=1000,如1MB=1000KB)計(jì)算的,而電腦(操作系統(tǒng))是以GiB(2進(jìn)制,即2的 10次方, 如1MiB=1024KiB)計(jì)算的,但是國(guó)內(nèi)用戶(hù)一般理解為1MB=1024 KB, 所以為了便于中文化的理解,翻譯MiB為MB 也是可以的。
  同樣根據(jù)硬盤(pán)廠(chǎng)商與用戶(hù)對(duì)于1MB大小的不同理解,所以好多160G的硬盤(pán)實(shí)際容量按計(jì)算機(jī)實(shí)際的1MB=1024KB算都不到160G,這也可以解釋為什么新買(mǎi)的硬盤(pán)“缺斤短兩”并沒(méi)有它所標(biāo)示的那么大。
  注:TiB是現(xiàn)在電腦硬盤(pán)最大的存儲(chǔ)量單位。10TiB大約等于一個(gè)人腦的存儲(chǔ)量。
  更大的單位,還有ZiB(Zebibyte,1ZiB=1024EiB)、YiB(Yobibyte,1YiB=1024ZiB)……

容易混淆的概念

  在計(jì)算機(jī)中,一串?dāng)?shù)碼作為一個(gè)整體來(lái)處理或運(yùn)算的,稱(chēng)為一個(gè)計(jì)算機(jī)字,簡(jiǎn)稱(chēng)字。字通常分為若干個(gè)字節(jié)(每個(gè)字節(jié)一般是8位)。在存儲(chǔ)器中,通常每個(gè)單元存儲(chǔ)一個(gè)字,因此每個(gè)字都是可以尋址的。字的長(zhǎng)度用位數(shù)來(lái)表示。
  在計(jì)算機(jī)的運(yùn)算器、控制器中,通常都是以字為單位進(jìn)行傳送的。字出現(xiàn)在不同的地址其含義是不相同。例如,送往控制器去的字是指令,而送往運(yùn)算器去的字就是一個(gè)數(shù)。

字長(zhǎng)

  計(jì)算機(jī)的每個(gè)字所包含的位數(shù)稱(chēng)為字長(zhǎng)。根據(jù)計(jì)算機(jī)的不同,字長(zhǎng)有固定的和可變的兩種。固定字長(zhǎng),即字長(zhǎng)度不論什么情況都是固定不變的;可變字長(zhǎng),則在一定范圍內(nèi),其長(zhǎng)度是可變的。
  計(jì)算的字長(zhǎng)是指它一次可處理的二進(jìn)制數(shù)字的數(shù)目。計(jì)算機(jī)處理數(shù)據(jù)的速率,自然和它一次能加工的位數(shù)以及進(jìn)行運(yùn)算的快慢有關(guān)。如果一臺(tái)計(jì)算機(jī)的字長(zhǎng)是另一臺(tái)計(jì)算機(jī)的兩倍,即使兩臺(tái)計(jì)算機(jī)的速度相同,在相同的時(shí)間內(nèi),前者能做的工作是后者的兩倍。
  一般地,大型計(jì)算機(jī)的字長(zhǎng)為32―64位,小型計(jì)算機(jī)為12―32位,而微型計(jì)算機(jī)為4一16位。字長(zhǎng)是衡量計(jì)算機(jī)性能的一個(gè)重要因素。

字節(jié)

  字節(jié)是指一小組相鄰的二進(jìn)制數(shù)碼。通常是8位作為一個(gè)字節(jié)。它是構(gòu)成信息的一個(gè)小單位,并作為一個(gè)整體來(lái)參加操作,比字小,是構(gòu)成字的單位。
  在微型計(jì)算機(jī)中,通常用多少字節(jié)來(lái)表示存儲(chǔ)器的存儲(chǔ)容量。
  1.2 字符,字節(jié),字符串
  理解編碼的關(guān)鍵,是要把字符的概念和字節(jié)的概念理解準(zhǔn)確。這兩個(gè)概念容易混淆,我們?cè)诖俗鲆幌聟^(qū)分:
  概念描述 舉例
  字符 人們使用的記號(hào),抽象意義上的一個(gè)符號(hào)。 '1', '中', 'a', '$', '¥', ……
  字節(jié) 計(jì)算機(jī)中存儲(chǔ)數(shù)據(jù)的單元,一個(gè)8位的二進(jìn)制數(shù),是一個(gè)很具體的存儲(chǔ)空間。0x01, 0x45, 0xFA, ……

字符串

  在內(nèi)存中,如果“字符”是以ANSI編碼形式存在的,一個(gè)字符可能使用一個(gè)字節(jié)或多個(gè)字節(jié)來(lái)表示,那么我們稱(chēng)這種字符串為 ANSI 字符串或者多字節(jié)字符串。如,"中文123" (占7字節(jié))。

字符集和代碼頁(yè)

  對(duì)于ANSI編碼方式,存在不同的字符集(Charset)。同樣的字節(jié)序列,在不同的字符集下表示的字符不一樣。要正確解析一個(gè)ANSI字符串,還要選擇正確的字符集,否則就可能導(dǎo)致所謂的亂碼現(xiàn)象。不同語(yǔ)言版本的操作系統(tǒng),都有一個(gè)默認(rèn)的字符集。在不指定字符集的情況下,系統(tǒng)會(huì)使用此字符集來(lái)解析 ANSI 字符串。也就是說(shuō),如果我們?cè)诤?jiǎn)體中文版的Windows下打開(kāi)了一個(gè)由日文操作系統(tǒng)保存的 ANSI 文本文件(僅包含 ANSI 字符串的文本文件),我們看到的將是亂碼。但是,如果我們使用Visual Studio之類(lèi)的帶編碼選擇的文本編輯器打開(kāi)此文件,并且選擇正確的字符集,我們將可以看到它的原貌。注意:簡(jiǎn)體中文字符集中的繁體字和繁體中文字符集中的繁體字,編碼不一定相同(事實(shí)證明,似乎是完全不同)。
  每個(gè)字符集都有一個(gè)唯一的編號(hào),稱(chēng)為代碼頁(yè)(Code Page)。簡(jiǎn)體中文(GB2312)的代碼頁(yè)為936,而系統(tǒng)默認(rèn)字符集的代碼頁(yè)為0,它表示根據(jù)系統(tǒng)的語(yǔ)言設(shè)置來(lái)選擇一個(gè)合適的字符集。

UNICODE

  字符串 在內(nèi)存中,如果“字符”是以在Unicode中的序號(hào)存在的,那么我們稱(chēng)這種字符串為Unicode字符串或者寬字節(jié)字符串。在Unicode中,每個(gè)字符都占兩個(gè)字節(jié)。如,"中文123"(占10字節(jié))。
  Unicode和ANSI的區(qū)別就相當(dāng)于輸入法內(nèi)的“全角”和“半角”的區(qū)別。
  由于不同 ANSI 編碼所規(guī)定的標(biāo)準(zhǔn)是不相同的(字符集不同),因此,對(duì)于一個(gè)給定的多字節(jié)字符串,我們必須知道它采用的是哪一種字符集則,才能夠知道它包含了哪些“字符”。而對(duì)于 UNICODE 字符串來(lái)說(shuō),不管在什么環(huán)境下,它所代表的“字符”內(nèi)容總是不變的。Unicode 有著統(tǒng)一的標(biāo)準(zhǔn),它定義了世界上絕大多數(shù)的字符的編碼,使得拉丁文、數(shù)字、簡(jiǎn)體中文、繁體中文、日文等都能以同一種編碼方式保存。

單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理




關(guān)鍵詞: 單片機(jī) 字節(jié)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉