第2章 数码系统-数据在计算机内部的表示形式_第1页
第2章 数码系统-数据在计算机内部的表示形式_第2页
第2章 数码系统-数据在计算机内部的表示形式_第3页
第2章 数码系统-数据在计算机内部的表示形式_第4页
第2章 数码系统-数据在计算机内部的表示形式_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1n或/a新

本章主要内容

•数据表示形式的多样性

•二进制数值数据的编码格式

•信息传输过程中的检错与纠错码

醺2.1数据表示形式的多样性

•数值、文字、符号、语音、形、

统称数据,在计算机内部,都必须用

化编码的形式被存储、加工;传送o

•数字化编码二要赘'熨"

-少量简单的基本符号八-cb*

*I?NL丁/

----^定的组合规则

•表示大量复杂多样的信息

2.1.1适合于人的数据表示形式

•如时钟、十进制、语音数据、

•输入计算机之前的数据、机输出的数

据都要力争符合人的习惯。

适合计算机的表示形式-编码

•采用二进制的理由

一符号个数最少,物理上容易实现(数字电路)。

用二个状态如导通/截止,高/低电压等来表示,

比用十个状态方便。

一用二进制码表示数值数据运算规则简单。加法

和乘法各只有4条运算规则o

一十进制与二进制转换简单。

一与二值逻辑的真、假两个值对应简单。

•高电压一1,低电压----0。

二进制天符号数据算术运算规则

(1)加法运算规则22

60101需然小]

0+0=0例w

0+1=1+)0001

1+0=1

1+1=0并产生进位

(2)减法运算规则已夕

0-0=0例"吟1011

0-1=1弁产生借位%”・)0101

叫正1\一

0110

1-1=0

二进制数据算术运算规则

(3)乘法运算规则例如:11o011o

0X0=0X)^—

0X1=0O§

1

1X0=001

1X1=1安用63001

(4)除法运算规则

1101例如:1110101/1001

1001/1110101

/1001v

,'1001〉

01001

1001

)/、or

您进位记数法与进制转换

•进位记数法

•任何一个数都可以写成以下算式:

N=ZD*r(i=-k5-k+1;.

-N代表一个数值也为卜

-r是这个数制的基(Radix)0r=2,8,10,16,1

-i表示这些符号排列的位号

-Dj是位号为i的位上的一个符号

是位号为i的位上的一个1代表的值

-»*"是第i位的所代表的实际值

-X表示m+k位的值求累加和

计算机中常用的数制

常用数制基数r基本符号第i位的权值

二进制20,1

八进制80,12345,6,78i

十六进制160,1,2,3,4,5,67,8,9,16。

ABC,D,E,F;

十进制10纷0,1,2,3,4,5,6,7,8,910j

十__八__十六进制数据的二进制编码

十进制数八进制数十六进制数十进制数八进制数十六进制数

000000008靖10007

1001000191001

20100010丁A1010

3011多0011B1011

4>100”01000七c1100

5丁101二0101D1101

6.110"0110E1110

71110111F1111

(101101011)2=(101101011)2

(101101011)2=(101101011)2

1

-\0=(16B)16

十进制数

二一十进制编码(BCD码)表示法是指用

位二进制数字来表示一位十进制数字。

•多位十进制数字表示为这种编码的数串。

-由于24=16个状态,而二进制只要10个状态,因

此需要舍去其中6种状态。va7

-根据舍去状态的不同(有多种方案),BCD码分为

有权码和无权码。

当布C石马无权码

十进8421242152114311十进余3码格鲁码格密码

制数码码码码制数(1)(2)

0.刁

00000000000000000001100000000

1000100010001000110100100010100

2001000100011001120101飞00110110

3丫

30011001101010100011000100010

401000100011110004011101101010

50101101110000111U5100011101011

601101100101010116100110100011

701111101110011007101010000001

810001110111011108101111001001

匕10011111111111119110001001000

X

匕符号数据的表示形式

•键盘上可以输入的符号:

一大小写英文字母:52个

一数字0〜9:10个

-专用符号

-控制符号

•ASCII和EBCDLC码(略)

每个字符在内存中占用一个字节。

ASCH字符编码集

b6b5t)4000001010011100101110111

hah2h1>n\

0000NULDLESP0@PJ5P

Q*'

0001SOHDC1■i1A.aq

tt

0010STXDC22.Rbr

0011ETXDC3#cScsQ

0100EOTDC4砚DTt

lA

0101ENQNAK%5Eeu

FCJ

0110ACKSYN&6VfV

0111幺BELETBGWgw

1000CAN尸8HXhX

fHT■

too以必EM9IYIy

★■

-VTJSUB■JZjz

ESC+5K[k(

1110010/FF

FS5<L\II

\CR

1101♦工GS■—M]m}

/伸心\SORS■>NAn

1111?

SIUS/O—0

物符号数据(字符、汉字)的显示

字符、汉字等只能以图形的方式显

看。一般以点阵的形式显示。如::

8*8的点阵16*16的汉字点阵

鲤)汉字的输入、存储

•汉字存储必须遵守国家标准。

-英文符号采用ASCII码,1Byte。

-常用的汉字有6000多个,故需要2B来存储。为

了区分汉字和英文符号,所以在机器中,描述

汉字时每个字节的最高位为1。因此汉字编码

有机内码和机外码之分。

-机外码常用的有国标码

GB2312O

机内码=国标码+8080H

—例如

国标码二进制机内码机内码*

(十六进制)(十六进制)

3B7A0011101110111011BBFA

0111101011111010

一键盘输入。拼音、五笔字型等

一语音输入。

一手写输入。

扫描输入O

您图形数据表示形式

•图形可分为,

一规则图形,如直线,圆、圆弧等。

一不规则图形,如照片、地图等。

•可以用点阵表示任何图形,但需要较多的

空间。者颦*MO3

•对于规则图形,可以存储有关的特征和规

则即可

一直线,可以存储起点、终点和线条的类型即可。

醺2.1.3数据格式的相互转换

•通过键盘向计算机输入的数字肯定是用

ASCII码形式表示的十进制数,必须通过软

件将其转换成二进制数。反之,计算机的

运行结果输出时,常常需要通过软件转换

成十进制数。x瑚"6S'

-由于二进制数冗长,读写不方便等缺点,常使

用八进制或十六进制来进行书写等。

•需要在不同进制数之间转换。

醺十进制转二进制

整数部分除2取余小数部分乘2取整

2111----------1低*2

215-----------1高10.25*2-'

2|2----------°”00.5*2

低产不

21高

%畛守

除尽为止/;

求得位数满足要求为止

(11)=(1011)(0.625)=(0.101)

1021JL0U乙2

(11.625)10=(1011.101)2

二进制转十进制

•从二进制数求其十进制的值,逐位码权累

加求和。

321

(1011.101)2=1*2+0*2+1*2+1*2。+

1*2-1+0*2-2+1*21'

/嘀尸厂/那产

l=8+0+2+1+0.5+0.0+0.125

=11.625

匕二到八或十六进制转换

到八从小数点向左右三位一

(10011100.01)

010

到十六从小数点向左右四位一分组

(100111001.01)2=(9Cf4)16

'^V--乙JLU

0100

说明:整数部分不足位数对转换无影响,

小数部分不足位数要补零凑足,否则出错。

./J、

2(00II,IlIOOIIIIOOO)=9T(9731)•

7”(onIII000100)=8(9701)•

ww睇瓶=隆辛士东、,

下列表格内容请记下来

389512

4161J|1024

532161024*64

O2.2机器数的编码格式

•机器数是指数据在计算机内部的二进制编码

形式(有多种)。Y事卜一

•真值是指原来书写形式表示的数(实际值)o

•选择机器数的原则X筋d'

一只照顾机器(运算方便、节省存储空间),不照顾

人(是否便于理解怜

•按小数点位置是否固定,厂机器数分为定点数

和浮点数(实数)。,■/3

•为了有效、方便地表示正负数,定点数表示

又分为原码、反码、补码、移码等编码方案。

瞰.2.1二进制定点数的原码表示

•二进制数据编码方法应达到目标:

-①如何能方便地表示正数、零和负数,

-②尽可能地有利于简化对它们实现算术运算用

到的规则。)―cJ

1、符号表示位势<oO^

-数的符号只有“+”和“一”,〉

一每一位二进制信息只有“0”和“1"o

-可以用“0”表示“+”,“1”表示”。

-由于符号是放在最左边,所以存放数据的单元

中的最高位用于表示该数据的符号。

•例如:

Nl=+O.1011N2=-0.IlOfd/7

•则它们在机器中可以表示为:

2、运算中符号处理

•运算中存在的问题:是否与数值一起参与"(/

运算,结果给下一次运算带来什么影响等。

3AS7

•将符号位与数值位一起编码的方法分为原

码、补码、反码、移码等。

3、原码表示岳2

•原码表示法中机器数分为符号和数值两部分。

一符号用“o”表示该数为正,“1”表示该数为负。

-数值部分为真值的绝对值。

符号数值部分的绝对值

•例如1x=+o.ion,丫=-0.noi,求[x]原,[丫]原。

解根据定义得:

[X]l=0-1011[Y]^=l.1101

•用公式表示:

-对于小数X,其原码表示定义为:

rX1〉X〉=O4费"/

[X]=J/

.l-xO>=x>-1

•性质值o的原码表示。

端@[+0]原=0.0000,

[―0]厚=1.0000

•从上可知,0的原码表示形式不是唯一的。

・性质2若[X]原=X0.X]X2X3・•・Xn,X。表示原码

机器数的符号位,它满足:

r0x>a殄',

•对于n位定点整数X,其原码定义为:

rX2n>X>=0

LXA[」原二<

〔2-X0>=X>-2n

•优点:简单,宜观,易懂。

•缺点:做加减法时7,需要将符号位和数值

部分分开处理。」〜

6

r

用o

+11+1++1

出z

玮>c,

糜c□

座\I

<8

9

+1+,a1+1

胞%1o

侏r>卜

雅yd

AT

滞:、

—O

楣3

+++十<A

贰/

壮'P

•米

域.

Rw

鲤)2.2.2二进制定点数的补码表示

•从上表可以看出

-由于负数的原码表示,在两操作数符号相异时,

应作加运算实际上改为减运算;本应作减运算

实际上改为加运算。

•倘若能找到一种机器数的表示法,对它所

表示的正负数,要求做加法就作加法,且

结果为正确的机器数表示;对于做减法,

减去一个负数等于加上与这个负数值对应

的正数,减去一个正数,等于加上与这个

正数值相等的负数。

•女予处:VA

-减法也能转变为加法。

-符号位与数值部分一起参与运算

-简化了运算规则

•先看两个十进制数的运算:

「479-38=41w79+62=141

•如果使用两位十进制数的运算器(如算

盘),多余的100因为超出了运算器的位数

和范围而自动丢掉,结果为41。

•在数学上可以用同余式表示:

79+(-38)=79+62=41

•进一步定义为:

-38=62(mod

•称-38的补码(对模100而言)是62。

•结论:负数用补码表示时,可以把减法转化

为加法00。

眼皓

外扇

城札

四艇华

札快

。黎

里侏回个

裁好裁—

U

曲杂麟靠

U叵

M

CM

CM

K罂格型格

蟀标爸

叫改W八

婀回小

辅b

U

雕)

玉b

侏M

L

U

解斜理林

W

4球联布

P

4宾勰噩格

<

侏0侏噌皿

K岩

双领麟解。

尔W

(

料冒仁

科如郡*

•补码定义:K

•对于n位小数,其补码定义为

「X1〉X>或喙了

[X]补二Y业%^"(啜P乌

12+XO>=X>-1

•对于n位整数,其补码定义为

xzj^^x〉=o

[X]补二y\G(mod2n

2n+1+X0>=X>-2n

鲤)原码与补码之间的转换方法

•1、根据定义进行计算

-原码一真值一补码

•2、原码直接求补码规则

一对于正数,原码与补码相等;

-对于负数,转换规则为:符号位不变,数值部

分求反加1(在最低位)。

•补码直接求原码的规则同上。

例[x]原=o.ion,[丫]原=1.noi,求[x]补二?

F乂补二?丁

-解酉X]补=0.ion,

补=

1[-Y」]补1.0010+0.0001=1.0011

•由[X]补求机器负数[-x]补规则:3心

-连同符号位一起求反加31(在最嘿

补二i.no有求[-x]补我W

一例[X]补=o.ion,[Y]

「丫]补二?

一解:1X]补=1.0101,,r^AA7

[―Y]补=0.0010+0.0001=0.0011

•可以证明,在无溢出的情况下,

[X]补+[Y]补=[X+Y]补爹(mod2)

•称[-X]补为[X」]补的机器负数。

•[X-Y]补=[X+(-Y)]补

中]补+E-彳一卜

二[X]补-[Y]补(mod2)

•即将减法变成加法运算。

JI

下面再讨论一些性质

•①0的补码表示是唯一的

[+0]补=0.00…0

[―0]补=10.00+(-0)=0.00…0(mod2)

•②由性质1知\[X-X]补=[X]补+[-X]补=0

「所以>[―X]补=—[X]补

-即负号在括号内夕卜是一样的。

•[X—Y]补==[X]补+[—Y]补(mod2)

•③设[X]补=Xo.X]X2・・・Xn,求Xo

若1>X>=O则1>[X]^=X>=O,Xo=O;

O>=x>=-1贝!J2〉=[X]补=2+X〉=l,X0=l;

所以1>X>=0

X]补=2X0+X其中朔X。二4

」幺为'c&lO>=x>-1

X=[X]补-2X0=Xo.X1X2…X「2X°

1-\以XX1X2…X。

补码的算术移位操作

•十进制的算术移位

-设X二±00.X]X2・・・Xn,

一对X执行乘以10的运算

10*X二±0X1.X2…XnO相当于左移1位

一对X执行除以10的运算

X/10=±00.0XlX2-Xn6f相当于右移1位

•二进制真值的算术移位:

—设X二±0O.X]X2・・・Xn,

一对X执行乘以2的运算

2*X=±0X1.X2-Xn0f相当于左移1位

一对X执行除以2的运算

X/2二±00.0X1X2-Xn69相当于右移1位

•④由[X]补,求[X/2]补(即算术右移,要保持真值不变

•由性质3知X=0.Xi2…X—X。

所以X/2=0,乂风・・//2-筋3

t

=0.OX1X2---Xn+Xo/2-Xo^

•比较性质3中的X和性质4中的X/2可得

[X/2]补=X0.X0X/2…Xn

•由[X]补求[X/2]补的规贝!J:

符号位不变,连同符号位一起右移一位。

•⑤算术左移1位的操作规则

-符号位参与向左移位

一左移时最高位丢失,最低位

一左移时可能发生“溢出”现象,判出”

的规则与补码加减法判断“溢出”木目

补码的演变

•①模2补码的修改

•对于上述补码,其真值范围为

实际上可扩充到X=T(为什么?)

因[一1]补=2+(―1)=1.00…0Ap'

这样补码定义可修改为:一二3/

X7做艺0

y(mod2)

2+X0三X〉T

•②模4补码-----变形补码

•由于参与运算的数X满足1>X三T,所以两

数相加减时其结果有可能超出模2补码表示

的真值范围。因此提出了模4补码,其定义

如下:<QC^

点资"2>X三0

飞登j乙'e(mod4)

和、4+X」0>X>-2

•可以证明:

-若[X]补=XooXorX/2…XnL皑*

一则Xoo正好是表示其真值的符号,即X()o=O,表

示正数,x00=i,表<^"7

•模2补码的性质及码制之间转换均可用于模

4补码。)病二*

•模4补码的真值范围是模2补码的一倍。

•假若仍表示1〉X三T的真值(下一个参加运

算的数要求),小数点左边就一定相同,

所以说模4补码是有两个符号位的补码-----

称为变形补码。

•利用双符号位判断定点数溢出

结果范围双符号是否溢出

1

2〉XN1黑正溢出

1〉XNO无溢出

0〉X2-111无溢出

T〉X>210负溢出

・.注意)在计算机中存储和传送数据时用一

位符号位,而在运算时数据采用两位侍号

位表示。

2.2.3二进制定点数的反码表示

•在补码表示法中已经提到补码可以通过原码

除符号位外“求反加1”得到。如果只求反不

加就得到了反码表示滋为-

1,-7Ap

•对于小数X,其反码定义为Z?P^

「X小蹴仇

:X]欣(mod2-2-n)

Y二£12-2一n+X0三X〉-1

•其中n代表小数的位数。

•性质0的反码表示关2

+。」反=0.00…0

n

一0]反=2-2-+(-0)=l.

•即在反码表示中,“0”的表示不唯一。

•对于n位整数X,其反码定义为

百辞2n>X^0

/|X^(mod2n-l)

2n+1-l+X0三X〉—2n

领8位二进制代码与真值、原码

补码、反码的对应关系

二进制代码无符号数对原石马对应补码又于反码对应

应的真值的真值.的真值的真值

0000000000>yoo7

00000001111

0111111127-127-127-127-1

1000000027-0-27-(27-1)

1000000127+1-(27-1)-(27-2)

1111111028-2-(27-2)-2-1

1111111128-1-(27-1)-1-0

JI

值、原码、彳卜码、

反码的对应关系

二进制代码(真值)补码反码

+000000000000000000000001^00000000

+0000001000000010000000100000001

+1111111工011111110111111101111111

-0000000100000000000000011111111

-0000001100000011111111111111110

-11111101111111010000010100000001

-11111111111111110000001100000000

-10000000Not10000000Not

原码、补码、反码关系

•1、三种机器数的最高位为符号位,符号位

和数值部分之间约定用或“,”分隔。

•2、原码6分补码、反码转换规则

一对于正数,原码、补码、反码相等;

-对于负数,转换规则为:符号位不变,数值部

分求反,补码在最低位还加1。二

•3、补码)反码的符号位参与运算。

•4、原码和反码对0的表示不唯一。

•5、对于一个整数的表示,用多少位二进制

与所用的模数有关。

•2〜5都可以证明。

•按小数点的位置分:

定点小数定点整数

•按数有无符号分:-

带符号的不带符号的数

定点小数:

无符号小数:

I最高有效任

d°di^2•••dn-l

小教皮

定点整数:

]I最高有效局

d°dd•••IIIIIdN-l

!I最高有效住

6Gd2l…I□IIF

小数点

进行算术操作时,应使用带符号的数;

数据可用原码、补码或反码表示。

•表示逻辑量或某些特征值时,应用不带

符号的数。

注意:

-1、小数点在机器中是无法表示的,是人们

编程时的一种约定。

-2、对于计算机来说,符号位与其它布什

么区别,这也只们的一种约定。

•定点数的长度(位数)分为

自定长数据表示。一般隼机器字长,参与运算

的操作数长度也是固定的,一般称作定长运算

或定长操作。

一多种定长数据表示。对每种字长的存储和单独

运算仍然是定长的。07

一如X86系列机,定长数据有:8位,16位,32位,

*64位。17.

00000001I-Z—"1命7*箍、。含导单

IIIIIIII(A-S-1)-z-Z-I

00000000“3'8-Z-I降、(>含导*

00000001iZ~d暂W械等含毋单

(I-zS)-I-zZ暂置箍囊含导星

000000000【一迷

mi*nx粤UT•UIXPUI

辛宓国冬准年举*

围M亚8»—

X

•2、在按字节编址的机器中,16位、32位、

64位字长的地址如何确定。

•以16位字长为例

2.2.4十进制数的编码

•原因:/6?1

一商业统计等领域,运算箱单,数据量大。在

输入/输出中十进制数<-->二进制数转换所占

的时间比例很大。为提高机器的效率,最好能

直接对十进制数进行运算和处理。

-扩大数据的表示范围和提高运算精度。

•十进制数串有两种表示形式。

•密毕/符串形式.

指一个字节存放一个十进制的数位或

符号位的ASCH码。

•在主存中,一个十进制数串占用连续多个

字节,故需要给出该数串在主存中的起始

位置和位数(串的长度)o

•一个十进制数可表示为:

无符号十进制数、有符号十进制数

•有符号十进制数是让符号位占用单独一个

字节,并把符号位放在数字位之前。

•缺点:高四位的值在进行算术运算时不具

有数值意义。

•主要用在非数值计算的应用领域中。

付bACSII码

瘠2BH7

■例如+543表示如下左图。

厂一2DH》

4

2BH

t

35H

2DH30H30H39H

34H

36H38H36H35H

33H

图"图

•例如-96865可表示(4个字节/主存单元)

如上右图。

•二、压缩十进制数据串形式

-一^个字节存放两个十进制数位

-每位值可用二一十编码(BCD码)表示

-符号位占用半个字节

•如8421码,用12(CH)表示正号,用13(DH)表示负号。

•优点:节省存储空间.可直接完成十进制

数的算术运算C

•例如-78表示如下图。

字节字节字节字节

0D78D078产

图冰%图7

•在这种表示中,规定数据位数加符号位数

必须为偶数,当不为偶数时,应彳f^个0。

•问题:

1、十进制数串如何变成BCD码?

2、BCD码如何变成二进制数据?

您2.2.5浮点数表示

•定点数所表示的数值范围太小,特别是科学

计算方面,其数值范围很大,因此引入浮

M-尾数,小数表示,一

数了E,阶码,用整数表示,

决定了浮点数的7

指出小数点的位置,决

精度C

点数需歹浮点数莫国

•一个数N史y

\R-基数,不需要表示出

来,R£{2,4,8,…}

y

•选择k和n的值既要保证有足够大的数值范

围,又保证有所要求的数值精度。

•IEEE754浮点数表示的标准。

符号位阶码尾数总位数

短浮点数182332

长浮点数1115264

•一个浮点数的表示形式不是唯一的。

•例如:iv>

电子质量=0.9*10-27=0.09*10-26

—••••

•为了使浮点数有一个统一的标准形式,

规定浮点数必须采用规格化形式。浮点

数规格化对尾数M提出了限制要求:

1/RW|M|〈1(具体到等号有所不同)

•对于R=2,表示形式:

9*

M正数负数m

原码0.1XXXX1.1XXXX

彳卜石马0.1XXXX1.0XXXX

•对于R=8,表示形式:

M正数负数

原码>0,001XXXX1.001XXXX

补码>0.001XXXX1.000XXXX

o浮点数规格化

•若运算结果尾数的有效数字超过最高有效

位(“溢出”),为使其规格化,需要进行右

规,右规时尾数向右移一位(小数点左移),

阶码加。玄及*

1-7Ap'

•若运算结果的尾数有效数字不在最高有效

位,为使其规格化需要进行左规,左规时

尾娄转1左移一位(小数点右移),阶码减1。

•例如(R=2):

尾数运算结果为00.01001,数左移一位

(左规)后尾数变为00.1001,阶码减1J

•例如:/KvT7

尾数运算结果为01.10010;数右移一位

(右规)后尾数变为00.nooi,阶码加1。

•浮点数的阶码可采用移码和补码表示。

下面分析一下移码的性质及其优点其。阶码丁

•如果阶码有n+1位(包括符号位),

的移码定义为:

[X]移=2n+X_2VW2n

■设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论