第二章 计算机中的信息表示_第1页
第二章 计算机中的信息表示_第2页
第二章 计算机中的信息表示_第3页
第二章 计算机中的信息表示_第4页
第二章 计算机中的信息表示_第5页
已阅读5页,还剩184页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理

与汇编语言程序设计

授课教师:江兰帆

E-MAIL:jiang_lanfan@126.com

第二章计算机中的信息表示

2.1数值型数据的表示

o2.2字符的表示

©2.3指令信息的表示

2.4校验技术

2.1数值型数据的表示

◎进位计数制:用一定量的数字符号,按先后

次序把它们排成数位,由低到高进行计数,

计满进位,这样的方法称为进位计数制

。基数:进位制基本特征数,即所用到的数字

符号个数

O权:进位制中各位“工”所表示的值为该位

的权

位权法

任何一个N进制数A可表示为:

AARAR_]■・■A]Ag«A一]A_2■■■A_中

-m

=EAjXM

i=n

计算机中常用的进位计数制

计数制基数数码进位关系

二进制20、1逢二进一

八进制80、工、2、3、4、逢八进一

5、6、7

十进制100、工、2、3、4、逢十进一

5、6、7、8、9

十六进制160、工、2、3、4、逢十六进一

5、6、7、8、9

A、B、C、D、E、F

R进制转换成十进制的方法

◎按权相加法:先写成多项式,然后计算十

进制结果。

eeedd

N=dnldn-2l0.d-ld-2••

XR2

XR"T+dn-20'+…打

11

XR+d0XR°+d.iXR+d.2XR-2

+•••d.mXR-m

R进制转换成十进制的方法

。逐次乘基相加法(整数):从R进制数最高

位开始,将最高位乘以基数,与次高位相

力口,所得结果再乘以2,并与相邻低位相

力口,如此继续直到加上最低位为止。

例:(1010)2=((1X2+0)X2+1)

X2+0=10

R进制转换成十进制的方法

O逐次除基相加法(小数):从R进制数最低

位开始,除以基数后与次低位相加,如此继

续直到加上小数点第一位并除以基数为止。

例:(0.1011)2=(((1^2+1)+2+0)

+2+1)+2

=0.6875

十进制转换成二进制方法

方法工整数部分的转换

除2取余法(基数除法)

(S)10=(Kn.1Kn.2K工。)2

1、数部分的转换

乘2取整法(基数乘法)

(S)1O=(O.K,1K,2……KM

十进制转换成二进制方法

。方法2减权定位法

将十进制数依次从二进制的最高位权值进行

比较,若够减则对应位置1,减去该权值后

再往下比较,若不够减则对应位为。,重复

操作直至差数为0。

5122561286432168421

减权定位法

例如:将(327)工o转换成二进制数256<327<512

327-256=711256

71<1280128

71-64=7164

7<32032

7<16016

7<808

7-4=314

3-2=112

1-1=011

名词解释:真值和机器数

真值:正、负号加某进制数绝对值的形式

称为真值。如+3厂5等,即实际值。

机器数:符号以及数值都数码化的数称

为机器数

如:X=01011Y=11011

即真值在机器中的表示,称为机器数

数据表示

计算机中常用的数据表示格式有两种:

定点格式——容许的数值范围有限,但要求

的处理硬件比较简单。

浮点格式——容许的数值范围很大,但要求

的处理硬件比较复杂。

定点数的表示方法

◎定点表示:约定机器中所有数据的小数点位

置是固定不变的。(由于约定在固定的位置,

小数点就不再使用记号来表示)

通常将数据表示成纯小数或纯整数。

定点数

定点整数:小:数点固定在最低位数的右面

定点小数:小:数点固定在最高位数的后面,

即纯小数表示

kXXXXXX

01234567.’0*1234567

(a)定点整数(b)定点小数

无符号数的编码

数值表示:X=XnXn-i…X。X/={O,1},

0<i<n

数值范围:0<x<2^+1-l

在数据处理的过程中,如不需要设置符号位

可用全部字长来表示数值大小。如8位无符

号数的取值范围是0~255(28-1)o

有符号数的数的机器码表示

原码

补码

O反码

移码

原码表示法

最高位表示符号,符号位为0表示该

数为正,为工表示该数为负;有效值

部分则用二进制绝对值表示。

原码表示法

(1)定点小数

若定点小数的原码形式为xO.xl

x2xn,(共n+1位)则原码表示的

定义是:

rl=/X0<x<1

原1-x=1+|x|<x<0

式中[X]原是机器数,X是真值。

原码表示法

原码小数的表示范围:

•最大值:1-2・n

•最小值:■(工■2'n)

原码表示法

(2)定点整数

若定点整数的原码形式为xnXi

…X。,则原码表示的定义是:

Xn

卜]原二0<x<2

.2n-x=2n+|x|-2n<x<0

原码表示法

原码整数的表示范围:

•最大值:2n-l

•最小值:-(2n-l)

原码表示法

例[:x=+0.1001

则[x]原=0.1001

x=-0.1001

则[x]原=1+|x|=1.1001

原码表示法

例2:x=+1011

总共用5位表示,n=4

[x]原=01011

x=-1011

[x]原=2n+|x|

=10000+1-10111

=11011

原码表示法

对于0,原码机器中往往有“+0”、“・0”

之分,故有两种形式:

[+0]眉=0.000・・・0

[-0]原=1・000・■・0

原码表示法

结论

•原码为符号位加上数的绝对值,。正工负;

•原码零有两个编码,+0和-0编码不同;

•原码加减运算复杂,乘除运算规则简单;

•原码表示简单,易于同真值之间进行转换。

补码表示法

模的概念

假设两位十进制数计算:

77-38=39

77+62=139

77—38=77+62

=39(mod100)

由此可以看出,减38和加62是等价的,前提是

说对模为100是正确的。这个100在数学上称为

模数

补码表示法

模的概念

计算机中运算器、寄存器、计数器都有一定的位

数,不可能容纳无限大的任意数。当运算结果超出实

际的最大表示范围,就会发生溢出,此时所产生的溢

出量就是模(module)。

因此,可以把模定义为一个计量器的容量。如:

一个4位的计数器,它的计数值为0—15。当计数器

计满15之后再加工,这个计数器就发生溢出,其溢出

量为16,也就是模等于16。

补码表示法

•定点小数的溢出量为2,即以2为模;

•一个字长为n+工位的定点整数的溢出

量为江+工,即以2「+工为模。

补码表示法

定义:

任意一个数X的补码记为[x]补,

[x]#=X+M(ModM)

当X>0时X+M>M自动丢失,

[x]#=X(ModM)

当XVO时X+M=M-|X|<

[x]#=X+M(ModM)

补码表示法

定点小数

若定点小数的补码形式为x0.

x2…X〃,则补码表示的定义是:

_rx0<x<1

3补=t2+x=2-|x|-1<x<0mod2)

补码表示法

例:x=+0.1011

则口]补=0.1011

x=-0.1011

则[x]#=10.0000+x

=10.0000-0.1011

=1.0101

补码表示法

对于0:

[+0]补=10]补=0.0000

(mod2)

注意:0的补码表示只有一种形式。

补码表示法

定点整数

若定点整数的补码形式为xnXn.1

…X。,则补码表示的定义是:

x0<x<2n

补=•(mod2n+1)

2n+1+x=2n+1-|x|-2n<x<0

补码表示法

例:x=+0111

贝I」[X]补=00工工工

x=-0111

贝I」[X]补=24+1—卜。工工工I

=100000-0111

=11001

补码表示法

补码的表示范围

•n+1位补码整数:~2n-1

(若补码整数的位数是8位,其表示的范围:

-128~127)

•n+1位补码小数:■工~2"n

(若补码小数的位数是8位时,其该数表示的

最大值、最小值:・1~2刀)

补码表示法

特点

•补码零有唯一编码。

•补码能很好用于加减运算。

•补码满足补+[x]补=0

[+7]补=00111卜7]补=11001

•最高位参与演算,与其它位一样对待。

补码表示法

特点

•扩展方便。

如:5位的补码扩展为8位

00111->00000111

11001->11111001

补码表示法

最大的优点就是将减法运算转换成加

法运算。

[X+Y]#=[X]补+[Y]补

[X-丫]补=[X]补+卜Y]补

补码表示法

例:X=(ll)10=(1011)2

Y=(5)1O=(O1O1)2

已知字长n=5位

丫]补=[0011。]补=00110

[X]补+卜丫]补

=01011+11011

=1OO11O=OO11O=(6)1O

注:最高工位已经超过字长故应丢掉

补码表示法

如何由[X]补求卜X]补?

将[X]补连同符号一起将各位取反,末位再加1。

例:设字长N=8位

X=+1001001

[X]tt=01001001

各位取反10110110

末位再力口工10110111

即:[凶补=10110111

反码表示法

所谓反码,就是二进制的各位数码0

变为工,工变为0。

反码表示法

定点小数定义

0<x<1

)+x-1<x<0

反码表示法

定点整数定义

F

n

卜]反={X0<x<2

(2n+1-l)+x-2n<x<0

反码表示法

结论

•反码零有两个编码,+0和-0的编码不同;

•反码难以用于加减运算;

•反码的表数范围与原码相同。

移码表示法

移码定义

假设定点整数移码形式为xnXnrxn_2

***XQ(n+1位)时,移码的定义是:

[x]移=2n+x-2n<x<2n

移码表示法

8位移码表示的机器数为数的真值在数轴上

向右平移了128个位置。

负数正数+127

-128

表示范围:00000000~11111111

移码表示法

例L当正数x=+10101时,

以]移=25+10101

=1,10101;

例2:当负数X=-10101时,

|>]移=25+x

=25-10101=0,01011

例3:0的移码是唯一的,即:

[+0]移=[・0]移=100...00

移码表示法

[注意]:移码中符号位表示的规律与

F

原码、补码、反码相反——“1”正,

“0”负。

移码表示法

移码和补码的关系:

x0<x<2n

补码的定义:[*]补=

.2n+1+x-2n<x<0

移码的定义:|>1移=2n+x-2n<x<2n

当0V2n时,]移=[x]补+2n

nn+1n

当・2n«X«0时,凶移=2+[x]#-2=[x]#-2

移码、补码和真值之间的关系

真值真值补[x]移

(二盘制)[X]

(十进制)(补码)(移碣)

-128-1000,00001000,00000000,0000

-127-0111,11111000,00010000,0001

■■■■■■■■■■■■

-1-0000,00011111,11110111,1111

00000,00000000,00001000,0000

10000,00010000,00011000,0001

■■■■■■■■■

1270111,11110111,11111111,1111

移码的特点

在移码中,最高位为。表示负数,最高位

为工表示正数,这与原码、补码、反码的

符号位取值正好相反。

。移码为全。时所对应的真值最小,为全工

时所对应的真值最大!因此,移码的大小

直观地反映了真值的大小,这将有助于两

个浮点数进行阶码大小比较。

移码的特点

真值0在移码中的表示形式是唯一的,即:

[+0]S=[-0]移=100...00

O移码把真值映射到一个正数域,所以可将

移码视为无符号数,直接按无符号数规则

比较大小。

O同一数值的移码和补码除最高位相反外,

其他各位相同。

码制表示法小结

[X]原、[X]反、[X]补用“。”表示正号,

用“工”表示负号;[X]移用“1”表示正号,

用“。”表示负号。

。如果X为正数,则[X]原=[X]反=[X]补。

O如果X为0,贝[X]补、[X]移有唯一编码,

[X]原、[X]反有两种编码。

移码与补码的形式相同,只是符号位相反。

码制表示法小结

数据四种机器表示法中:

•移码表示法主要用于表示浮点数的阶码。

•补码表示对加减法运算十分方便,因此目前机器中

广泛采用补码表示法。

•在一些机器中,数用补码表示,补码存储,补码运算。

•在有些机器中,数用原码进行存储和传送,运算时

改用补码。

•还有些机器在做加减法时用补码运算,在做乘除法

时用原码运算。

浮点数的表示方法

9X10-28=0.9x1027

2X1033=0.2X1034

任意一个十进制数N可以写成

N=10EXM

浮点数的表示方法

计算机中一个任意R进制数N可以写成

N=Rexm

m:尾数,是一个纯小数。

e:浮点的指数,是一个整数。

R:基数,对于二进计数值的机器是一

个常数,一般规定7?为2,8或16。

浮点数的表示方法

一个机器浮点数由阶码和尾数及其符号位组

成:

尾数:用定点小数表示,给出有效数字的位

数,决定了浮点数的表示精度;

阶码:用定点整数形式表示,指明小数点在

数据中的位置,决定了浮点数的表示范围。

MsEsExE2……EmMiM2……Mn

数符I阶符I阶码尾数

浮点数的规格化表示

浮点数是数学中实数的子集合,由一个纯

小数乘上一个指数值来组成。

一个浮点数有不同的表示:

0.5;0.05X101;0.005xlO2;

50xlO2

为提高数据的表示精度,需做规格化处理。

浮点数的规格化

O规格化目的:

为了提高数据的表示精度

为了数据表示的唯一性

O尾数为R进制的规格化:

绝对值大于或等于:L/R

规格化处理

在计算机内,其纯小数部分被称为浮点数的尾数,

对非0值的浮点数,要求尾数的绝对值必须>=

1/2,即尾数域的最高有效位应为,称满足这种

表示要求的浮点数为规格化表示。

把不满足这一表示要求的尾数,变成满足这一要求

的尾数的操作过程,叫作浮点数的规格化处理,通

过尾数移位和修改阶码实现。

浮点数的规格化

二进制原码的规格化数的表现形式:

正数0.1XXXXXX

负数1.1XXXXXX

补码尾数的规格化的表现形式:

正数0.1XXXXXX

负数l.Oxxxxxx(・1/2除外)

(尾数的最高位与符号位相反)

隐藏位技术

既然非0值浮点数的尾数数值最高位必定为1,

则在保存浮点数到内存前,通过尾数左移,强行把

该位去掉,用同样多的尾数位就能多存一位二进制

数,有利于提高数据表示精度,称这种处理方案使

用了隐藏位技术。

0.1100010t1.100010

当然,在取回这样的浮点数到运算器执行运算时,

必须先恢复该隐藏位。

浮点数的表示方法

浮点数的标准格式

为便于软件移植,使用IEEE(电气

和电子工程师协会)标准

工EEE754标准:尾数用原码;阶码

用移码(偏置为127);基为2;采用

隐藏位

浮点数的表示方法

按照1EEE754的标准,32位浮点数和

64位浮点数的标准格式为:

313023220

32位SEM

636252510

64位SEM

浮点数的表示方法

其中:

S:尾数符号,。正工负;

M:尾数,纯小数表示,小数点放在尾数

域的最前面。采用原码表示。

E:阶码,采用“移码”表示(偏置为

127);阶符采用隐含方式,即采用“移

码”方法来表示正负指数。

规格化浮点数的真值

313023220

32位浮点数格式:SEM

一个规格化的32位浮点数x的真值为:

x=(-1)SX(1.MX2B127e=E-127

一个规格化的64位浮点数x的真值为:

x=(-1)SX(1.M)X2F1023

这里e是真值,E是机器数

浮点数

例:采用IEEE短实数格式,若浮点数x的二进制存

储格式为(41360000)工6,求其32位浮点数的十

进制值。

解:0100,0001,0011,0110,

0000,0000,0000,0000

数符:0

阶码:1000,0010

尾数:011,0110,0000,0000,0000,0000

浮点数

接上例:

指数e=阶码一127=10000010—0工工工工工工工

=OOOOOOll=(3)lo

包括隐藏位工的尾数:

01100000000000000000

=1.011011

于是有x=(-l)sXl.MX2e

=+(1.011011)x23=+1011.011

=(11.375)10

浮点数

例:将十进制数20,59375转换成32位浮点数的二

进制格式(采用IEEE短实数格式)来存储

解:首先分别将整数和分数部分转换成二进制数:

20.59375=10100.10011

然后移动小数点,使其在第1,2位之间

10100.10011=1.010010011X24

即:e=4

浮点数

接上例:

于是得到:

S=0,5=4+127=131=1000,0011,

M=010010011

最后得到32位浮点数的二进制存储格式为

01000001101001001100

000000000000=(41A4C000)16

浮点数

例:对数据(123)工。作规格化浮点数的编码,假

定工位符号位,基数为2,阶码5位,采用移码,

尾数工。位,采用补码。(不用隐藏位)

解:(123)10=(1111011)2

7

=(0.1111011000)2X2

[7]移=10000+00111=10111

[0.工]工10工[000]补=0.1工110工工000

[123]浮=0101111111011000

作业

•设浮点数的阶码6位(含符号位),尾数为

10位(含符号位),求其所能表示的最小

负数,最大负数,最小正数,最大正数。

•将・0.:15625转换为工EEE754(短实数)

编码。

2,2字符的表示

ASCH码

UNICODE编码

汉字编码

ASCH码

}美国国家信息交换标准代码,简称ASCII码。

Ir0~9共10个数字字符:30H~39H

128个ASCII26个大写英文字母:41H~5AH

码字符包括26个小写英文字母:61H~7AH

【一些通用符号和控制符号

通常一个字符的ASCH码占用主存一个字节单

元,字符序列则占用连续的主存单元。

汉字编码简介

首先将汉字转换成计算机能接收的编码,

称为汉字输入码,输入码进入计算机后必

须转换成汉字内码才能进行处理。为了显

示输出汉字或打印输出汉字,需要经过一

个变换,将汉字内码转换成汉字字形码。

此外,为了使不同的汉字处理系统之间能

够交换信息,还应存在汉字交换码。

字型码

汉字处理

2.3指令信息的表示

用计算机解题时,一般都要编制程序,程

序既可用高级语言编写,亦可用机器语言

编写;

O但计算机只能够识别和执行用机器语言编

写的程序;

O各种高级语言编写的应用程序,最终都要

翻译成机器语言来执行。

2・3指令信息的表示

。机器语言是由一系列的指令(语句)组成的;

O指令的格式就是机器语言的语法;

每条指令规定机器完成一定的功能。

2.3指令信息的表示

一台计算机的所有的指令集合称为该机

的指令系统或指令集。它是程序工作者

编制程序的基本依据,也是进行计算机

逻辑设计的基本依据。

指令中的基本信息

一条指令应包含如下信息:

•进行何种操作:即操作性质。体现在指令

中被称为操作码。

•操作对象的地址:数据来源以及如何寻找

操作数。体现在指令中被称为地址码。

•操作结果的地址:结果存放在何处。

•下一条指令如何寻找。

指令格式

指令由操作码和地址码两部分组成,它的

基本格式如下:

操作码地址码

地址码

指令中的地址码用来指出该指令的源操作

数地址(一个或两个)、结果地址及下一条

指令的地址。

这里的地址可以是主存地址,也可以是寄

存器地址,甚至可以是1/O设备的地址。

地址码结构

(1)四地址指令

指令格式:OPA1A2A3A4

OP:操作码;

A.第一地址码,存放第一操作数;

A2:第二地址码,存放第二操作数;

A3:第三地址码,存放操作结果;

第四地址码,存放下条要执行指令的地址。

操作:(AJOP(A2)-A3

地址码结构

•这种指令直观易懂,后续指令的地址可任意填写。

•可直接寻址的地址范围与地址字段的位数有关。

例如:指令字长32位,操作码占8位,4个地址段各占6

位,则指令的直接寻址范围为:26=64

•如果地址字段均指示主存的地址,则完成一条四地址

指令,共需访问四次存储器(取指令一次,取两个操作

数两次,存结果一次)。

•因为程序中大部分指令都是顺序执行的,当采用指令

计数器后,A’地址可以省去。

地址码结构

(2)三地址指令

指令格式:OPAxA2A3

VV・

操作数结果

地址的症

功能:(A1)OP(A2)—>A3下条指令地址

(PC)+n—►PC/转移时,用转移

地址修改PC内容。

地址码结构

(3)二地址指令

指令

温馨提示

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

评论

0/150

提交评论