第02章 计算机中的数制和编码_第1页
第02章 计算机中的数制和编码_第2页
第02章 计算机中的数制和编码_第3页
第02章 计算机中的数制和编码_第4页
第02章 计算机中的数制和编码_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

第2章

计算机中的数制和编码

主要内容

»计算机中的常用计数制、编码及其相互间的

转换;

>二进制数的算术运算和逻辑运算;

A符号数的表示及补码运算;

A二进制数运算中的溢出问题;

A基本逻辑门及译码器;

>定点数与浮点数的表示方法。

第2章计算机中的数制与编码

主要内容:

■2」计算机中的数制

■2.2无符号数二进数制数的运算

■2.3符号数的表示及运算

■2.4定点数与浮点数

■2・5计算机中的编码

第一节

计算机中的数制

movax,12h

calldisplay

2.1计算机中的数制

主要内容:

-2.1.1常用计数制

■2.1.2各数制间的转换

2.1计算机中的数制

-了解:各种计数制的特点及表示方法;

■掌握:各种计数制之间的相互转换。

2.1■工用用计数制

>十进制(Decimal)—符合人们的习惯

>二进制(Binary)—便于物理实现

A十六进制(Hex)—便于识别、书写

>八进制(Octal)

1.十进制

■特点:以io为底,逢十进一;

共有0・9十个数字符号。

■表示:权表达式

n:整数位数m:小数位数

2.二进制

■特点:以2为底,逢2进位;

只有0和1两个符号。(数后面加B)

■表示:权表达式

n:整数位数m:小数位数

3.十六进制

■特点:以16为底,逢16进位(数后面加H)

有0・・9及A・・F共16个数字符号,

■表示:权表达式

n:整数位数m:小数位数

4.任意K进制数的表示

一般地,对任意一个K进制数S都可表示为

「〃一〃一十。

(S)k=SnXKI+Sn_2XA2+...SoXA

+S1XK'+•••+5XKm

n—1

=2S’xKi

i=一,n

其中:

,4一S的第i位数码,可以是K个符号中任何一个

n,m-整数和小数的位数;

K■■基数;N・・K进制数的权

5■如何区分不同进位记数制的数

在数字后面加一个字母进行区分:

A二进制:数字后面力口B,如工001B

»八进制:数字后面加0,如工0010

»十进制:一般不加,如1001

»十六进制:数字后面加H,如1001H

在明显可以区分其记数制的情况下,可以省略数

字后面的字母

5.如何区分不同进位记数制的数

0O

000011

000122

001033

001144

010055

010166

011077

01118

10009

1001A

1010B

1011C

1100D

1101E

1110F

1111

■234.98(234.98)10

■1101.11B(1101.11)2

■ABCD.BFH(ABCD■BF)16

2.L2各数制间的转换

■L非十进制数到十进制数的转换:

按相应的权表达式展开,再按十进制求和。

■例:24.AH=2X161+4X16°+AX16T

=36.625

注:A〜F分别用工0〜15代入

例:

10110010B=(?)10

13FAH=(?)10

2.十进制到非十进制数的转换

A十进制一二进制:

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

»十进制一十六进制:

整数部分:除16取余;小数部分:乘16取整

以小数点为起点求得整数和小数的每一位。

注:十进制转换成任意K进制数与上类似,

整数:除K取余,小数:乘K取整。

十进制到二进制转换例

255=(?)B

2255

.......余数为

21271=5A

6.......余数为1=K1

2-3

3-.......余数为

2-1

-.......余数为

2151=1<3

--.......余数为

271=(

2-.......余数为1=勺

-3

21.......余数为1=1<6

-.......余数为仁J

O

255=(11111111)B

(30)10=(11110)2(266)io=(10A%

21300低位266/16=16.......A低位

2|151

217116/16=10

2|31

1/16=01高位

2|J_……1高位

0

18

0.8125

X2

—L6250.......1高位

(O.8125)io=(0.1101)20.6250

X2

L2500.......1

0.2500

X2

0.5000.......0

0.5000

X2

—L0000.......1低位

19

整数除以2倒取余数

小数乘以2正取整数

(49.58)10=(110001.100)2

0.58

1X2

01.16

0X2

00.32

1X2

10.64

事ad

麻Hd

+超

格M

制.

城*

■超

.

+犯

.H矍

林M

格I

害K

藏^

7

)^

十进制到十六进制转换例

400.25=(?)H

■400/16=25..............余数=0(个位)

■25/16=1...................余数=9(十位)

■1/16=0....................余数=1(百位)

■0.25X16=4.0...........整数=4(1/10)

即:400.25=190.4H

3.二进制与十六进制间的蒋换

■用4位二进制数表示1位十六进制数

例:10110001001.110=(?)H

Ql^10001001.1100

589.C

注意:位数不够时要补0

3

・24=16,用4位二进制数表示工位十六进制数

0000.................0H

■।

■।

■।

1001.................9H

1010.................AH

1011.................BH

1100.................CH

1101.................DH

1110.................EH

1111.................FH

第二节

无符号二进制数的运算

2.2无符号二进制数的运算

主要内容:

.2.2.1无符号数的算术运算

■2.2.2无符号数的表示范围

■2.2.3逻辑运算

■2.2.4逻辑门

■2.2.5译码器

■2.2.6由基本门电路实现的部件

2.2

算术运算

「无符号数

二进制数」逻辑运算

♦有符号数:算术运算

2.2.1无符号数的算术运算

■加法运算

-减法运算

■乘法运算

■除法运算

注意事项:

■对加法:1+1=0(有进位)

-对减法:0・1=工(有借位)

■对乘法:仅有1X1=1,其余皆为0;

乘以2相当于左移一位。

■对除法:除以2则相当于右移工位。

>00001011X0100=00101100B

■00001011H-0100=00000010B

即:W=00000010B

余数=11B

2.2.2无符号数的表示范

■一个n位的无符号二进制数X,其表示范围为:

0<X<2n-l

若运算结果超出这个范围,则产生溢出。

■溢出的判别方法:

运算时,当最高位向更高位有进位(或借位)

时则产生溢出。

[例]:

11111111

+00000001

100000000

结果超出8位(最高位有进位),发生溢出。

(结果为256,超出8位二进制数所能表示的范围

255)

2.2.3逻辑运算

特点:按位运算,无进位/借位。

「与(A)

J或(V)

非(一)

、异或(®)

掌握:逻辑关系(真值表)和逻辑门。

例:A=10110110,B=01101011

求:AAB,AVB,A㊉B

”与"、"或"运算

-任何数和“0〃相“与”,结果为0

-任何数和"1”相”或”,结果为1

BB

AAB=CAVB=C

"非"、“异或”运算

-“非”运算即按位求反

-两个二进制数相“异或”:

相同则为0,相异则为工

B=AA㊉B二C

"与非"、"或非”运算

AAB=CAVB=C

A---------出0—C

B---------

2.24逻辑门

基本的逻辑门是与、或、非门,一个复杂的逻

辑电路是由这些基本逻辑门连接成的。

门电路是逻辑关系的基本硬件单元。按制作工

艺的不同,可分为双极型逻辑门和MOS型逻辑门。

两种工艺的代表类型为:TTL集成逻辑门和

CMOS逻辑门。

L与门(ANDGate)

AABY

&-----Y

B000

A010

B100

111

Y=AA

注:基本门电路仅完成1位二进制数的运算

2.或门(ORGate)

A—

——Y

B—

Y=AVB

3.非门(NOTGate)

A

A

AY

Y=A

4.异或门(exclusiveORGate)

一丫ABY

000

011

101

Y=A㊉B110

5.与非门(NANDGate)

Y=AABABY

001

A011

101

B

110

6.或非门(NORGate)

Y=AvBABY

001

A010

>1

Y100

B

110

2.2.5译码器(附用逻辑部件)

74LSXX系列是最常用的一种TTL门电路,

性能价格比也比较高。如74LS00为四二输入与

门、74LS32为四二输入或门,74LS86为四二

输入异或门等。通过基本的与或非门电路可以设

计出需要的各种复杂功能的电路,如加法器、译

码器、数值比较器、数据选择器、奇偶检验/产

生电路、编码器等。

2・2.5译码器

■例:设计的74LS138译码器:

3—8译码器原理

译码输出端

译码输入端

A丫7

74LS138真值表

使能端输入端输出端

Gj.G2AG?BCBAYo丫1丫2丫3丫4丫5丫6丫7

X01XXX11111111

X10XXX11111111

x11XXX11111111

0XXXXX11111111

10000001111111

10000110111111

10001011011111

100Oil11101111

10010011110111

10010111111011

10011011111101

10011111111110

第三节

符号数的表示及运算

2.3符号数的表示及运算

主要内容:

-2.3.1符号数的表示

■2.3.2有符号二进制数与十进制的转换

■2.3.3符号数的算术运算

■2.3.4符号数运算中的溢出问题

2.3符号数的表示及运算

计算机中的符号数的表示方法:

把二进制数的最高位定义为符号位。

符号位:“0〃一^表示正数,

“1〃一^表示负数。

■把符号也数值化了的数,称为机器数。

■机器数所表示的真实的数值,称为真值。

注:后面的讲述均以8位二进制数为例。

[例]:

真值机器数

+52=+0110100—00工工0100

符号位数值位

-52=-0110100f10工10100

2・31符号数的表示

■对于符号数,机器数常用的表示方法有原码、

反码和补码三种。数x的原码记作[X]原,反码

记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。

它们的差别在于对负数的表示。

1.原码[X]原

-最高位为符号位,用“0”表示正,用“工〃表示负;数

值部分照原样写出即可。

-优点:真值和其原码表示之间的对应关

系简单,容易理解;

-缺点:计算机中用原码进行加减运算比

较困难,0的表示不唯一。

正式定义为:

_jx2"T〉X》0

'X]原<2"T+x0》X〉-2"T

原码的例子

班号符芦位

V

真值X=+18=+0010010原码[X]g=O0010010

X=-18=-0010010[X]府10010010

n位原码表示数值的范围是

一(21-1)〜+(2〃-1-1)

对应的原码是111…1〜011..1

8/16位符号数的表示范

对8位二进制数:

■原码:-127~+127

对16位二进制数:

■原码:・32767z+32767

数0的原码

■8位数0的原码:

+0=00000000

-0=10000000

即:数0的原码不唯一。

2■区码[X]反

对一个数x:

■若x>0,则[X]反=[X]原

-若XVO,则[X]&=对应原码的符号位

不变,数值部分按位求反。

正式定义为:

「「X2"T>X>0

(2"-1)+X0>X>-2"T

反码例

■X=-52=-0110100

[X]原=10110100

[X]反1001011

反码的例子

符号符号位

IJ

真值X=+18=+0010010反码[X]反=00010010

X=-18=-0010010[X]反=11101101

n位反码表示数值的范围是

对应的反码是100…0〜011..1

数0的及码

[+0]反=00000000

[-0]反=11111111

即:数0的反码也不是唯一的。

3.补码[X]补

定义:

-若X>0,则[X]补凶反=凶原

-若XVO,则[X]补[X]反+1

正式定义为:

-2"T

[X]补=2"+X<X<2"i

■X=-52=-0110100

[X]原=10110100

[X]反=11001011

[*]补=[X]反+1=11001100

n位补码表示数值的范围是

_2"-1〜+(2~1-1)

对应的补码是100.・・0〜011..1

8/16位带符号数的表示范

对8位二进制数:

■补码:-128+127

对16位二进制数:

■补码:・32768z+32767

0的补码

■[+0]补=[+0]原=00000000

■卜0]补=[-01^+1=11111111+1

=100000000

t

对8位字长,进位被舍掉

[+0]补=『0]补=00000000

特殊数10000000

-该数在原码中定义为:・o

■在反码中定义为:-127

■在补码中定义为:"128

■对无符号数,(10000000)2=128

4.8/16位符号数的表示范

对8位二进制数:

■原码:・127z+127

■反码:・127z+127

■补码:T28~+127

对16位二进制数:

■原码:・32767z+32767

■反码:・32767z+32767

■补码:・32768z+32767

2.3■2有符号二进制数与十进制的转

对用补码表示的二进制数:

1)求出真值

2)进行转换

将一个用补码表示的二进制数转换为十进制数。

■[X],h=00101110B真值为:0101110B

正数

所以:X=+46

■[X]#=l1010010B真值不等于:-1010010B

负数

而是:X=[[X]补]补=口1010010]补

=-0101110B=-46

2.3.3符号数的算术运算

-通过使用反码,可将求补码公式中的减法也

省略掉,最终实现避免减法运算。

■规则如下:

凶补=凶反+1

2.3.3符号数的算术运算

■采用补码作加法时,遵循以下原则:

要把符号位当作数据一同参与运算;

符号位相加后,若有进位存在,则把进位

舍去

2.3.3符号数的算术运算

■通过引进补码,可将减法运算转换为加法运算。

-规则如下:[X+Y]补=[X]补+[丫]补

[X-Y]#=[X+(-Y)]#=凶补+[・Y]补

其中X,Y为正负数均可,符号位参与运算。

补码的运算原理

模(module)就是一个计数系统的最大容量。例如,钟

表的模为12,8位二进制数的模为28。

凡是用器件进行的运算都是有模运算,运算结果超过

模的部分会被运算器自动丢弃。因此,当器件为n位时,有

X=2n+X(mod2n)

不难验证,

[X]补=2MX(mod2n)

因此,

[X土丫]补=2n+(X±Y)(mod2n)

=(2n+X)+(2n±Y)(mod2n)

=凶补+[土丫]补

X=-01工0100,丫=+工工10100,求0(+丫]补=?

■[X]原=10110100

・区]补=[X]反+1=工100工100

・丫[]补=[Y]原=01110100

■所以:[X+Y]补=凶补+[Y]补

=11001100+01110100

=01000000

X+Y=+1000000

2.34符号数运算中的溢出问题

■进(借)位一

■在加法过程中,符号位向更高位产生进位;

■在减法过程中,符号位向更高位产生借位。

■溢出一

■运算结果超出运算器所能表示的范围。

■有符号数运算,有溢出表示结果是错误的

■无符号数运算,有进(借)位表示结果是错误的

溢出的判断方法

■方法1:

■同号相减或异号相加——不会溢出。

■同号相加或异号相减可能溢出:

■两种情况:

.同号相加时,结果符号与加数符号相反

溢出;

■异号相减时,结果符号与减数符号相同

渝出O

溢出的判断方法

■方法2:

■两个8位带符号二进制数相加或相减时,若

则结果产生溢出。

C7为最高位的进(借)位;

C6为次高位的进(借)位。

观察以下E9种情况哪个溢出?

假定以下运算都是有符号数的运算。

CASE1:CASE2:

1011010101000010

+10001111+01100011

10100010010100101

无符号数:错误!无符号数:正确

CASE"有符号数:错误!ASE4:|有符导薮:错误

0100001000100010

+11001101+11001101

无符号数:藕漠巧°1]1111101111

有符号数:正确!

例:

■若:X=01111000,Y=01101001

则:X+Y=01111000

+01101001

11100001

即:次高位向最高位有进位,而最高位向前无

进位,产生溢出。

(事实上,两正数相加得出负数,结果出错)

第四节

定点数与浮点数

movax,12h

calldisplay

2.4定点数与浮点数

在计算机中,用二进制表示实数的方法有两种:

■定点法

-浮点法

定点数

-定点数:小数点位置固定不变的数。

■小数点的位置:

■纯小数符号XiX2・・・xn

t

小数点位置

■纯整数符号XX2...xn

t

小数点位置

浮点数

-浮点数来源于科学记数法

■例如:+123.5=+0.123X103

-0.001235=-0.123XIO'2

■浮点数:用阶码和尾数表示的数,尾数通常为

纯小数。

2EXF

数符阶符阶E尾数F

阶码।

小数点位置

80x86中使用的工EEE标准浮点数

■单精度浮点数(阶码偏移7FH)

313023220

数符阶E(8位)尾数F(23位),整数部分默认为1

小数点位置

■双精度浮点数(阶码偏移3FFH)

636252510

数符阶E(11位)尾数F(52位),整数部分默认为1

小数点位置

例:

■将101L10101用8位阶码、15位尾数的规格

化浮点数形式表示。

解:因为101L10101=0.101110101X24

所以要求的浮点数为:

000000100101110101000000

数符阶符阶码尾数(后补。到15位)

例:

■用IEEE标准单精度浮点数重做上题。

3

S^1O11-1O1O1=1.O111O1O1X2Z阶为

7FH+3=82H=10000010B

所以要求的浮点数为:

01000001001110101000000000000000

浮点数的表示

例.写出178.125以单精度浮点数形式存放的机器数

解:178.125(D)=10110010.001⑻

表示成规格化的浮点数为1.0110010001x27

・•・23位有效数字字段为

01100100010000000000000

真阶码为111

偏置阶码为1111111+111=10000110

符号位为0

・•.178.125的单精度浮点机器数为

01000011001100100010000000000000

表示成十六进制为43322000(H)

第五节

计算机中的编码

2.5计算机中的编码

主要内容:

■2.5.1BCD码

■2.5.2ASCII码

■2.5.3汉字编码

2.5计算机中的编码

非数值数据在计算机中必须以二进制形式

表示,非数值数据的表示本质上是编码的过程。

常用的二种:

•BCD码

•用二进制编码的十进制数

•ASCII码

•美国标准信息交换代码

2.5.1BCD码

■用4位二进制数表示一位十进制数。有

两种表示法:

■压缩BCD码

■非压缩BCD码

2.5.1BCD码

■压缩BCD码

-每一位用4位二进制表示,0000-1001表

示0~9,一个字节表示两位十进制数。

■如:92D,转换为BCD码为10010010B,

存储在一个字节,内容为:10010010。

2.5.1BCD码

■非压缩BCD码

-用用一个字节表示一位十进制数,高4位总

是0000,低4位的0000~1001表示0~9。

■如:92D,转换为BCD码为10010010B,

存储在两个字节,内容分别为:00001001,

00000010c

BCD码与二进制数之间的转换

■先转换为十进制数,再转换二进制数;反

之同样。

■例:

(00010001.00100101)BCD

=11.25

=1011.01B

2.5.2ASC□码

-采用7位二进制代码对字符进行编码。

■数字0~9的编码是0110000〜0111001(30H〜

39H),规律:高3位:011;后4位:二进制代

码(BCD码)。

■英文字母A〜Z的ASCII码从1000001(41H)开

始顺序递增;字母a~z的ASCH码从1100001

(61H)开始顺序递增,这样的排列对信息检索

十分有利。

■最高位通常总为0,有时也用作奇偶校验位。

ASCII码的校验

■奇校验

加上校验位后编码中“1”的个数为奇数。

例:A的ASCII码是41H(1000001B),

以奇校验传送则为C1H(11000001B)

■偶校验

加上校验位后编码中“广的个数为偶数。

上例若以偶校验传送,则为41H。

2.5.2ASCII码

■用8位二进制数表示

时,最高位总为0,ASCII

因此最高位(D7位)数字0〜930H-39H

可作为奇偶校验位。小写a〜z61H-7AH

大写A〜Z41H-5AH

■熟悉16进制数0・F回车符0DH

的ASCII码:换行符0AH

空格20H

■30H-39H,

■41H-46H

ASCII码一美国标准信息交换代码

ASCII字符表

X000001010Oil100101110111

0000NULDLESP0@Pp

0001SOHDC1I1AQaq

0010STXDC2!!2BRbr

0011ETXDC3#3CScs

0100EOTDC4$4DTdt

0101ENGNAK%5EUeu

0110ACKSYN&6FVfV

0111BELETB7Gwgw

1000BSCAN(8HXhX

1001HTEM)9IYjy

1010LFSUB*•JZjz

1011

温馨提示

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

评论

0/150

提交评论