免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
1.2 數(shù)據(jù)的表示和類型

1.2 數(shù)據(jù)的表示和類型

在用匯編語言進行程序設計時,程序員可以直接訪問內(nèi)存,對數(shù)據(jù)在存儲器內(nèi)的表示形式要有一個清晰的認識。下面,我們只簡單介紹本課程所要用到的數(shù)據(jù)表示知識,為后面的學習作一點必要的準備。

有關(guān)“數(shù)據(jù)表示”的詳細內(nèi)容請參閱《計算機組成原理》中的相關(guān)章節(jié)。

1.2.1 數(shù)值數(shù)據(jù)的表示

(1)、二進制

在計算機內(nèi),數(shù)值是用二進制來表示的,每個二進制數(shù)按權(quán)相加就可得到其十進制數(shù)值。在書寫二進制時,為了區(qū)別,在數(shù)據(jù)后面緊跟一個字母B。

二進制的一般表現(xiàn)形式為:bn-1…b1b0B,其代表數(shù)值:bn-12n-1+…+b121+b020。

數(shù)據(jù)的二進制表示形式簡單、明了,但它書寫起來比較長,所以,通常情況下,我們在程序中不直接用二進制來書寫具體的數(shù)值,而改用八進制、十進制或十六進制。

(2)、八進制

八進制是一種二進制的變形,三位二進制可變?yōu)橐晃话诉M制,反之也然。八進制的表示元素是:0、1、…、7。在書寫時,為了區(qū)別,在數(shù)據(jù)后面緊跟一個字母Q。如:1234Q、7654Q、54Q等都是八進制。

八進制數(shù)在程序中的使用頻率不高。

(3)、十進制

十進制是我們最熟悉的一種數(shù)據(jù)表示形式,它的基本元素是:0、1、…、9。在書寫時,為了區(qū)別,在數(shù)據(jù)后面緊跟一個字母D。在程序中經(jīng)常用十進制來表示數(shù)據(jù)。

(4)、十六進制

十六進制是另一種二進制的變形,四位二進制可變?yōu)橐晃皇M制,反之也然。十六進制的基本元素是:0、1、…、9、A、B、…、F(字母小寫也可以),其中:字母A、B、…、F依次代表10、11、…、15。

在書寫時,為了區(qū)別,在數(shù)據(jù)后面緊跟一個字母H。當十六進制數(shù)的第一個字符是字母時,在第一個字符之前必須添加一個‘0’。如:100H、56EFH、0FFH、0ABCDH等都是十六進制數(shù)。

十六進制在程序中的使用頻率很高。

(5)、數(shù)值進制的總結(jié)和相互轉(zhuǎn)換

表1.1 各種進制及其字符表示

進制

字符

例子

備注

二進制

B/Y(*)

1010B、1011B

(*):字符Y、O和T是宏匯編MASM系統(tǒng)所增加的進制表示符。

八進制

Q/O

1234Q、311Q

十進制

D/T

1234D、512D

十六進制

H

1234H、1011H

下面是各進制數(shù)據(jù)之間進行轉(zhuǎn)換的控件,瀏覽者通過它可很好地掌握這些進制之間的轉(zhuǎn)換方法。當十進制轉(zhuǎn)化為其它進制時,瀏覽者還可進行實際的練習操作。
 
 

(6)、數(shù)的補碼表示法

在計算機內(nèi),為了表示正負數(shù),并便于進行各種算術(shù)運算,對有符號數(shù)采用二進制的補碼表示形式。

補碼的最高位用來表示正負數(shù):0—正數(shù),1—負數(shù)。

正數(shù)的補碼是其自身的二進制形式,負數(shù)的補碼是把其正數(shù)的二進制編碼變“反”,再加1而得。

(7)、二進制數(shù)的符號擴展

在匯編語言中,我們經(jīng)常要對字/字節(jié)的數(shù)據(jù)進行操作。當把“字節(jié)”轉(zhuǎn)換成“字”,或“字”轉(zhuǎn)換成“雙字”時,就需要進行符號擴展。符號擴展的具體操作就是把已知信息的最高位擴展到所有更高位。

例1.1 把8位補碼01011010、10101100分別擴展成16位補碼。
解:根據(jù)符號擴展的含義,“字節(jié)→字”的具體擴展結(jié)果如下:

01011010 10101100

00000000

01011010

11111111

10101100

例1.2 把16位補碼0101101111001010、1010111101011011別擴展成32位補碼。
解:根據(jù)符號擴展的含義,“字→雙字”的具體擴展結(jié)果如下:

0101101111001010 1010111101011011

0000000000000000

0101101111001010

1111111111111111

1010111101011011

(8)、n位二進制的表示范圍

n位二進制所能表示的無符號整數(shù)的范圍:0≤x≤2n-1。
  n位二進制所能表示的有符號整數(shù)(補碼表示)的范圍:-2n-1≤x≤2n-1-1。

在匯編語言中,常用到n為8和16時的數(shù)值范圍:

n=8時,無符號整數(shù)的范圍:0~255,有符號整數(shù)的范圍:-128~127;
  
n=16時,無符號整數(shù)的范圍:0~65535,有符號整數(shù)的范圍:-32768~32767。

(9)、BCD碼

通常,我們習慣用十進制表示的數(shù)據(jù),但計算機是用二進制來表示數(shù)數(shù)據(jù)的,這就需要進行數(shù)值進制之間的轉(zhuǎn)換。我們把每位十進制數(shù)轉(zhuǎn)換二進制的編碼,簡稱為BCD碼(Binary Coded Decimal)。

BCD碼是用4位二進制編碼來表示1位十進制數(shù)。這種編碼方法有多種,但常用的編碼是8421BCD編碼,如表1.2所示。這種BCD編碼實際上就是0~9的“等值”二進制數(shù)。

表1.2  8421BCD編碼列表

十進制數(shù)字

8421BCD碼

十進制數(shù)字

8421BCD碼

0

0000

5

0101

1

0001

6

0110

2

0010

7

0111

3

0011

8

1000

4

0100

9

1001

BCD碼進行進制的轉(zhuǎn)換時,是要求在二種進制的表現(xiàn)形式上快速轉(zhuǎn)換,而不是要求在“數(shù)值相等”的含義快速轉(zhuǎn)換。

例1.3 求十進制數(shù)2000的BCD編碼和其二進制數(shù)。

解:2000的BCD編碼是把每位上的數(shù)2、0、0、0分別轉(zhuǎn)換為其對應的BCD編碼:0010、0000、0000和0000,把它們合在一起就是2000的BCD編碼:0010 0000 0000 0000。

十進制數(shù)2000的二進制數(shù)是:11111010000,它們在數(shù)值上是相等的。

1.2.2 非數(shù)值數(shù)據(jù)的表示

計算機除了具有進行數(shù)值計算能力之外,還具有進行非數(shù)值計算的能力?,F(xiàn)在,后者的應用領(lǐng)域已遠遠超過了前者的應用領(lǐng)域,如:文字處理、圖形圖象處理、信息檢索、日常的辦公管理等。所以,對非數(shù)值信息的編碼就顯得越加重要。

1、ASCII碼

ASCII碼(American Standard Code for Information Interchange)是目前應用極其廣泛的一種信息編碼,許多計算機系統(tǒng)都是采用它為字符進行編碼。它是一種7位二進制編碼。

右表是ASCII碼的具體編碼方案。在該表中,對學習本課程有用的主要信息有:

字符'0'~'9'是連續(xù)編碼的,其編碼的低4位就是該字符在十進制中的數(shù)值;

小寫字母的編碼比大寫字母的編碼大,對應字母的編碼之間相差20H。

當然,從ASCII碼表中還可看出其它有用信息,還有擴展的ASCII碼等知識,但這些內(nèi)容對學習本課程的幫助不明顯,故不再敘述。有興趣的讀者可參閱其它書籍。

表1.3 ASCII碼的編碼方案

  高位
 低位

000 001 010 011 100 101 110 111
0000 NUL DEL SP 0 @ P ` p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EOT DC4 $ 4 D T d t
0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 VT ESC + ; K [ k {
1100 FF FS   < L \ l |
1101 CR GS - = M ] m }
1110 SO RS . > N ^ n ~
1111 SI US / ? O _ o Del

2、漢字編碼

ASCII碼是針對英文的字母、數(shù)字和其它特殊字符進行編碼的,它不能用于對漢字的編碼。要想用計算機來處理漢字,就必須先對漢字進行適當?shù)木幋a。我國在1981年5月對6000多個常用的漢字制定了交換碼的國家標準,即:GB2312-80。該標準規(guī)定了漢字交換用的基本漢字字符和一些圖形字符,它們共計7445個,其中漢字有6763個。該標準給定每個字符的二進制編碼,即國標碼。

有關(guān)漢字編碼的詳細信息,請參閱其它有關(guān)書籍,在此不再介紹。
 

1.2.3 基本的數(shù)據(jù)類型

匯編語言所用到的基本數(shù)據(jù)類型為:字節(jié)、字、雙字等,這些數(shù)據(jù)類型在以后的章節(jié)中都有相應的類型說明符。下面對它們進行最基本的描述。

1、字節(jié)

一個字節(jié)有8位二進制組成,其最高位是第7位,最低位是第0位,如右圖所示。在表示有符號數(shù)時,最高位就是符號位。

通常情況下,存儲器按字節(jié)編址,讀寫存儲器的最小信息單位就是一個字節(jié)。

圖1.2 字節(jié)數(shù)據(jù)類型示意圖

2、字

2個字節(jié)組成一個字,其最高位是第15位,最低位是第0位。高8位稱為高字節(jié),低8位稱為低字節(jié),如右圖所示。

字節(jié)和字是匯編語言程序中最常用的兩種數(shù)據(jù)類型,也是最容易出錯的數(shù)據(jù)類型。

圖1.3 字數(shù)據(jù)類型示意圖

3、雙字

2個字(4個字節(jié))來組成一個雙字,其高16位稱為高字,低16位稱為低字,如右圖所示。

雙字有較大的數(shù)據(jù)表示范圍,它通常是為了滿足數(shù)據(jù)的表示范圍而選用的數(shù)據(jù)類型,也可用于存儲遠指針。

字節(jié)、字和雙字是匯編語言最常用的三種數(shù)據(jù)類型,下圖表現(xiàn)出它們?nèi)咧g的組成關(guān)系。

圖1.4 雙字數(shù)據(jù)類型示意圖

 

圖1.5 字節(jié)、字和雙字數(shù)據(jù)類型之間關(guān)系示意圖

4、四字

4個字(8個字節(jié))組成一個四字類型,它總共有64個二進制位,當然,也就有更大的數(shù)據(jù)表示范圍,但在匯編語言中很少使用該數(shù)據(jù)類型。

5、十字節(jié)

10個字節(jié)組成一個十字節(jié)類型,它總共有80個二進制位。在匯編語言中很少使用該數(shù)據(jù)類型。

6、字符串

字符串是由若干個字節(jié)組成的,字節(jié)數(shù)不定,通常每個字節(jié)存儲一個字符。該數(shù)據(jù)形式是匯編語言程序中經(jīng)常使用的另一種數(shù)據(jù)形式。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PLC的數(shù)制和編碼
二進制數(shù)及其他
初步了解計算機(二)
程序員應該了解的計算機知識(三)——信息表示和編碼
第1章_2 計算機運算基礎
想學習編程的小伙伴們,這些可都是必知必會的基礎知識哦!
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服