官术网_书友最值得收藏!

1.7 IA-32結構的數據類型

1.7.1 計算機中的數據

根據國際標準化組織(ISO)對數據的定義認為:通常意義下,數字、文字、圖形、圖像,活動圖像(視頻)和聲音等都可認為是數據。對計算機而言,是不能直接處理以上數據的,而必須采用特殊的表達形式一這就是二進制編碼形式,才能由計算機進行計算,轉換、存儲、排序、傳送、通信等處理。

在計算機中,通常又將這些處理的數據分為數值型數據和非數值型數據。數值型數據是指日常生活中經常接觸到的數字數據,主要用來表示數量的大小,進行計算;而其他的文字、圖形、圖像、視頻圖像和聲音都統稱為非數值型數據。非數值型數據多數來自多種媒體。因此,現代計算機已不僅是一種計算工具,而是能夠交互式綜合處理多種不同媒體信息的多媒體計算機。

1.7.2 常用的名詞術語

在IA-32結構的微計算機中用二進制表達數據時,常用的名詞術語如下。

位(Bit):指一個二進制位,是計算機中信息表示的最小單位。

字節(Byte):指相鄰的8個二進制位。計算機中存儲器單元的容量(內容)用字節表示。

字(Word)和字長:字是計算機內部進行數據傳遞、處理的基本單位。通常它與計算機內部的寄存器、運算器、數據總線寬度相一致;字長是指一個字所包含的二進制位的位數。常見的微計算機的字長有8位、16位、32位和64位之分。但是目前在PC微機中常把一個字定義為16位,即2字節。

雙字(Double Word)、四字(Quad Word)和雙四字(DQW):雙字為32位,即4字節,是32位微計算機的字長;四字為64位,即8字節,是32位微機的雙倍精度字,是Intel 80486微處理器引入IA-32結構的結果;雙四字為128位,即16字節,是Pentium微處理器引入IA-32結構的結果。

1.7.3 數值型數據的表示法

1.無符號數

計算機中流動的兩類信息,即數據信號(包括地址信號和數據信號)和控制命令都是用二進制數表示的,并用后綴B標示。例如,01101000B是8位二進制數。除用二進制數表示外,在數位較多時,還可用十六進制數表示,并用后綴H標示,如0110100011111010B=68FAH。

為照顧人們的習慣,計算機中也用十進制數。十進制數是用二進制編碼表示的,例如,8421BCD碼。每位十進制數用4位二進制數表示,逢10進1。例如,6829的8421BCD為0110100000101001。

2.帶符號數

計算機處理的數據除無符號整數外,還有帶符號數。帶符號數中的符號也用二進制數表示。最高位(MSB)表示數的符號:“0”表示正號,“1”表示負號。通常稱這種數碼化了的帶符號數為機器數。機器數可用不同的碼制來表示。常用的有原碼、補碼和反碼。微計算機和多數計算機一樣,常采用補碼表示法。補碼的定義為:

其中,2n稱為模數,故補碼又稱2補碼,又因為2n=(2n-1)+1,而(2n-1)為n個1,因此(2n-1)-|x|稱為1的補碼(即反碼)。這樣,求正數補碼,就采用符號-絕對值表示;求負數補碼,可先寫出該負數對應的正數的補碼,然后,將其按位取反(即0變1,1變0),最后,在末位加1。

【例1-1】 機器字長為8位,求[+105]和[-105]

[+105]=0110,1001=69H

按位求反:1001,0110

末位+1:1001,0111

即[-105]=1001,0111=97H。

【例1-2】 若機器字長為16位,求[+105]和[-105]

這里介紹一種符號擴展法用來將8位補碼數擴展為16位補碼數,具體做法是:把8位機器數的符號位擴展到高8位上去;同理,符號擴展法也可用來將8位補碼數擴展為32位補碼數,如下所示。

反過來,已知補碼,求所代表的真值時,對正數補碼求真值,用按位計數法即可;而對負數補碼求真值,則根據|x|=2n-[x]=(2n-1-[x])+1,即利用按位變反加1即可。

在機器里,為了擴大數的范圍,可用兩個或多個機器字來表示一個機器數,這種數稱為雙字長的雙倍精度數或多字長的多倍精度數。

8位機器數和IA-32結構中帶符號整數的編碼(這里,用16進制數表示)及數的范圍分別如表1-2和表1-3所示。

表1-2 8位數表示法的對照表

表1-3 IA-32結構的帶符號整數編碼

1.7.4 非數值型數據的表示法

1.字符的表示法

計算機中除了處理數值信號外,還需要處理字符或字符串信息。例如,計算機和外設的鍵盤、打印機、顯示器之間的通信都是采用字符方式輸入、輸出的。英文字符在機器中也是二進制數,但這種二進制數是按特定規則編碼表示的。微計算機中普遍采用美國信息交換標準代碼ASCII(American Standard Code for Information Interchange),包括英文字母的大小寫、數字、專用字符(如+,-,,/,空格等)以及非打印的控制符號(如換行LF,回車CR,換碼ESC等)共計128種編碼。這種代碼用1字節表示,其中低7位為ASCII碼,最高位置為0。ASCII字符表如表1-4所示。

表1-4 ASCII字符表(7位碼)

注:表中二進制代碼按順序b6b5b4b3b2b1b0排列。

NUL 空 HT 橫向列表 DC1 設備控制1 SUB 減

SOH 標題開始 LF 換行 DC2 設備控制2 ESC 換碼

STX 正文結束 VT 垂直列表 DC3 設備控制3 FS 文字分隔符

ETX 本文結束 FF 走紙控制 DC4 設備控制4 GS 組分隔符

EOT 傳輸結果 CR 回車 NAK 否定 RS 記錄分隔符

ENQ 詢問 SO 移位輸出 SYN 空轉同步 US 單元分隔符

ACK 承認 SI 移位輸入 ETB 信息組傳送結束 SP 空格

BEL 報警符 DLE 數據鏈換碼 CAN 作廢 DEL 作廢

BS 退一格 EM 紙盡

漢字字符采用我國1981年公布的“國家標準信息交換用漢字編碼基本字符集(GB2312——1980)”。該標準規定一個漢字用2字節進行編碼,即可編出256×256種=65536碼。為區分漢字編碼和ASCII碼,用每字節的最高位來區分。這就是所謂雙7位漢字編碼,可編出128×128=16384碼,稱為漢字交換碼(也叫國標碼)。國標碼的雙字節最高位用“1”表示,ASCII碼則用“0”表示。

2.圖形、圖像、聲音的表示

計算機中除能處理數值,字符外,還能處理圖形、圖像和聲音等各種信息,這類計算機稱為多媒體計算機。

在多媒體計算機中所處理的多媒體信息也是采用二進制編碼來表示的。處理時,首先需將圖、像、聲各種模擬量(如聲音的波形、圖像像素坐標、顏色等)經過采樣,量化和編碼轉換成數字信息,這一過程稱為模/數轉換。由于這一過程得到的數字化信息非常大,為節省存儲空間,提高處理速度,往往需要進行壓縮后再存儲到計算機中。經過計算機處理過的數字化信息又需要還原(解壓縮),即經過數/模轉換為模擬信息的聲音、圖像或通過揚聲器播放聲音,或通過顯示器顯示畫面、圖像。

1.7.5 基本數據類型

1.基本數據類型

IA-32結構的基本數據類型是指字節、字、雙字、四字和雙四字,如圖1-17所示。

2.基本數據類型在內存儲器中的存放順序

圖1-18示出IA-32結構中基本數據類型作為操作數在內存儲器中的字節存放順序。每種數據類型的低字節為N,它存放在最低地址單元中。最低地址也就是最低字節數的地址。

圖1-17 IA-32結構的基本數據類型結構

圖1-18 基本數據類型在內存中的字節存放順序示意圖

主站蜘蛛池模板: 南雄市| 赤水市| 璧山县| 松原市| 浮山县| 巴马| 渝中区| 西乌| 哈密市| 雷波县| 双柏县| 桑植县| 福州市| 余干县| 宜兰县| 天全县| 巧家县| 阜新市| 澎湖县| 晋江市| 通道| 揭阳市| 武冈市| 丰城市| 扎鲁特旗| 伊金霍洛旗| 金华市| 辽宁省| 若尔盖县| 永昌县| 富锦市| 城固县| 富阳市| 钟山县| 肃北| 镇远县| 新昌县| 阳山县| 辉县市| 民县| 康平县|