上海交通大学微机原理与接口技术课件(丁纪凯老师)第一章计算机基础(修改稿)_第1页
上海交通大学微机原理与接口技术课件(丁纪凯老师)第一章计算机基础(修改稿)_第2页
上海交通大学微机原理与接口技术课件(丁纪凯老师)第一章计算机基础(修改稿)_第3页
上海交通大学微机原理与接口技术课件(丁纪凯老师)第一章计算机基础(修改稿)_第4页
上海交通大学微机原理与接口技术课件(丁纪凯老师)第一章计算机基础(修改稿)_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

第一章

计算机基础知识§1数和数制§2计算机的码制§3定点数和浮点数§4二进制编码§1数和数制一、m进制数及其表示方法

1、十进制计数制

特点有:

0、1、2、3、4、5、6、7、8、9十种状态。逢十进一。

十进制数有二个要素:

基数:十 每一位0、1、2、3、4、5、6、7、8、10-1 (逢十进一)

位权:10i 某一位数绝对值大小=数×位权.

权展开式

N=kn

10n+kn-1

10

n-1+……+k0

10

0+k-1

10

-1+……+k-m

10

-l=

[ki

10

i]例:一个十进制数:(4094)10

每一位有十种数码的状态(0~9) 千百十个 本位绝对值的大小=数×位权 103102101100如:千位=4×103=40002、二进制计数制特点有:

0、1二种状态。逢二进一。二进制数有二个要素:

基数:二 每一位0、1

逢二进一

位权:2i

10110110每位为0或12726252423222120位权

权展开式

N=kn

2n+kn-1

2

n-1+……+k0

2

0+k-1

2

-1+……+k-m

2-l=

[ki

2

i]例:N=(10011101)2 N=1

27+1

24+1

23+1

22+1

20=(157)10在计算机里进行运算和处理均是按二进制数处理的。3、十六进制计数制十六进制数有二个要素:

基数:十六 每一位0、1、……A、B、C、D、E、F

逢十六进一

位权:16i权展开式N=kn

16n+kn-1

16

n-1+……+k0

16

0+k-1

16

-1+……+k-m

16

-l=

[ki

16

i]

例:N=(109A)16 N=1

163+9

161+10

160=(4250)10

二进制数、十进制数和十六进制数也可以B、D和H表示。而二进制数写起来麻烦;书写时又以八进制或十六进制表示;日常生活中又常用十进制,因此就有:二

十 八

十 二

八数制之间转换问题 十六

十 二

十六归纳:m进制数的进位计数制及其要素:

进位计数制:按进位原则进行计数的方法。有1、2…m-1共m个数字逢m进一权展开式

N=kn

mn+kn-1

mn-1+……+k0

m0

+k-1

m-1+……+k-m

m-l=

[ki

mi](i=-l~n)任何某一位数大小=ki

mim—基数,逢m进一.mi—位权二、 数制之间的转换(一)、十→非十(m)整数十→m(除m取余法,降幂法)(1)除m取余法

N10=kn

mn+kn-1

mn-1+……k1

m1+k0

m0 =m(kn

mn-1+kn-1

mn-2+……+k1

m0)+k0m(kn

mn-1+kn-1

mn-2+……+k1

m0)是m的倍数,

k0

是余数.例:十进制数→二进制数(217)10÷2----得到余数k0

/2整数

余数:按照相反的方向写下来。/2/2/2/2/2/2/2/2217

108

54

27

13

6

3

1

0----商

10011011--余数(217) 10=(11011001)2=11011001B书写方向例:十进制数→十六进制数(3901)10÷16----得到余数k0

/16整数

余数:按照相反的方向写下来

/16/16/163901

243

15

0----商

13315--余数

(3901)10=(F3D)16=F3DH结论:整数除2取余,直到商为0为止, 读数由后向前。适用于数值比较小的情况。(2)降幂法:m进制数的权值为:mnmn-1

……m5m4m3m2m1m0计算各位之和使和为N10例:十→二(217)10=(11011001)2权值:2102928272625242322212010245122561286432168421 217-27=89 a7=1,9-23=1

a3=189-26=25 a6=1,a2=0

a5=0,a1=0 25-24=9 a4=1,1-20=0a0=1小数十→m:乘m取整方法:对十进制数逐次乘m小数点前边整数为系数ki

即乘m取整法,位数取决于要求精度。例:(0.613)10→

二进制数

(0.613)10

2=1.226k-1=1(0.226)10

2=0.452k-2=0(0.452)10

2=0.904k-3=0(0.904)10

2=1.808k-4=1(0.1001)2=(0.5625)10(0.808)10

2=1.616k-5=1(0.10011)2=(0.59375)10(0.616)10

2=1.232k-6=1(0.100111)2=(0.609375)10k-7=0

取4位(0.613)10=(0.1001)2;取6位(0.613)10=(0.100111)2

(二)、非十(m)→

十整数、小数均按权展开式进行计算

N10=kn

mn+kn-1

mn-1+……k1

m1+k0

m0例:(0.1001)2=1

2-1+1

2-4=0.5+0.0625=(0.5625)10(1001.101)2=1

23+1

20+1

2-1+1

2-3

=(9.625)10

(9A.5)16=9

161+10

160+5

16-1=(154.625)10(三)、二进制数

十六、八进制数之间转换

一位十六进制数字对应四位二进制数;一位八进制数字对应三位二进制数转换方法:数字和二进制数之间代换

对应关系:二进制数十进制数八进制十六进制

0000000 0001 1 1 1

0010 2 2 2 0011 3 3 3 0100 4 4 4 0101 5 5 5 0110 6 6 6 0111 7 7 7 1000 8 8 1001 9 9

1010 10 A

1011 11 B 1100 12 C 1101 13 D 1110 14 E 1111 15 F

1、二

十六:

二→十六: 以小数点为界向左向右四位一段,不够补0,

四位二进制数用一位十六进制数表示。例:(1101001.0100111)2→(69.4E)16

不够补0

不够补0 (0110,1001.0100,1110)2=(69.4E)16

十六→二:一位十六进制数用四位二进制数表示。例:(69.4E)16

=

(0110,1001.0100,1110)2

2、 二

二→

八:

以小数点为界向左向右三位一段,不够补0,

三位二进制数用一位八进制数表示。例:(1,101,001.010,011,1)2

不够补0

不够补0(001101001.010011

100)2=(151.234)8

八→二:

一位八进制数用三位二进制数表示.151.234Q=(001101001.010011100)2三、 二进制数的运算

(一)、加法

规则:(1)0+0=0(2)0+1=1+0=1(3)1+1=0进位1

(4)

1+1+1=1进位1

例:(1111)2+(1011)2=(11011)2

1111+1011

1111

11010(二)、减法

规则:(1)0–0=0(2)1–0=1(3)1–1=0

(4)

0–1=1借位1

(5)0–1–1=0借位1例:

(11001001)2–(10110110)2=(00010011)2

11001001

10110110

01101100010011(三)、乘法规则:(1)0

0=0(2)0

1=0(3)1

0=0

(4)1

1=1例:

(1111)2(1101)2=(11000011)2

1111

11011111

0000

1111

1111

11000011(四)、除法

从被除数MSB开始检查,找出够减除数的位数,找到这位,商上1,将选定的被除数减去除数后,将被除数下一位移到余数上,若够减,商上1;若不够减,商上0‥‥‥直至被除数所有位都下移完为止。例:

(100011)2(101)2=(000111)2

0

0

0111

101100011

1010111

101101

1010(五)、逻辑与

法则:

0∧0=0

1∧0=0

0∧1=01

∧1=1例:

(11001011)2

∧(10100111)2=(10000011)2

11001011∧

10100111

10000011

(六)、逻辑或法则:

0∨0=0

1∨0=1

0∨1=11

∨1=1例:

(11001011)2∨(10100111)2=(11101111)2

11001011

∨1010011111101111(七)、逻辑反法则:0=11=0例:

(11001011)2=(00110100)2(八)、逻辑异或法则:

0

0=0

1

0=1

0

1=11

1=0例:

(11001011)2

(10100111)2=(01101100)2

1100101

1

10100111

01101100§2计算机的码制一、机器数和真值上面介绍的都是无符号数,实际处理的数会有正有负。(1)符号的表示通常将数的最高位为符号位,对于字长m位机器数:Dm-1Dm-2……D1D0Dm-1为符号位:0表示“+”,1表示“—”,符号数码化了。

Dm-2~D0为数值位。

连同符号位在一起作为一个数称为机器数

原来的数值称为机器数的真值。

如:N1=+91=(+1011011)2N2=-91=(-1011011)2N1=+1011011N2=-1011011为真值

01011011 11011011为机器数

(2)机器数的特点:

正负符号数值化受字长的限制(8位、16位、24位、32位约定小数点的位置(3)机器数的形式符号数码化了,对数据进行运算时,

符号位应如何处理?把符号位和数值位一起编码。符号位和数值位一起运算。

三种基本编码形式:原码、反码、补码二、符号数的表示方法

1.

原码:(1)定义正数符号位用“0”表示,负数符号位用“1”表示,其余各数值位不变,这种表示法称为原码。

X=+105=+1101001[X]原=01101001 X=-105=-1101001[X]原=11101001

符号数值 原码表示简单,真值转换方便,减法不方便。

(2)原码和真值的关系

正数的原码表示 X=+Xn-2Xn-3…X1X0(n-1位二进制正数), 则[X]原=0

Xn-2Xn-3…X1X0=X

负数的原码表示

X=—Xn-2Xn-3…X1X0(n-1位二进制负数) 则[X]原=1Xn-2Xn-3…X1X0=2n-1+Xn-2Xn-3…X1X0 =2n-1–(–Xn-2Xn-3…X1X0)=2n-1–X

零的原码表示 [+0]原=000…00B [–0]原=100…00B归纳为数学表达式:

当X≥+0时,[X]原=X 当X≤–0时,[X]原=2n-1–X

(3)原码表示的数值范围

若原码为8位,

当[X]原=0

X6X5…X1X0,真值X的范围为+0+127[X]原=1X6X5…X1X0,真值X的范围为-0-127

8位原码表示的数值范围为:-127

+127即–(2(8-1)-1)

+(2(8-1)-1)

推广到一般性,原码为n位,[X]原=Xn-1Xn-2Xn-3…X1X0,,,,表示的数值范围为:

–(2(n-1)-1)

+(2(n-1)-1)2.

反码:

(1)定义

正数反码表示与原码相同,(最高位“0”表示正,其余位为数值位不变)

。负数的反码表示为负数原码的符号位不变尾数按位取反。例: [+4]反=[+0000100]反=

00000100 [-4]反=[-0000100]反=

11111011 [+127]反=01111111 [-127]反=10000000

(2)反码和真值的关系

正数的反码表示 X=+Xn-2Xn-3…X1X0(n-1位二进制正数), 则[X]反=0

Xn-2Xn-3…X1X0=X

负数的反码表示

X=—Xn-2Xn-3…X1X0(n-1位二进制负数) 则[X]反=1Xn-2Xn-3…X1X0=2n

–1+Xn-2Xn-3…X1X0=2n–1–Xn-2Xn-3…X1X0 =2n–1+(–Xn-2Xn-3…X1X0)=2n–1+X

零的原码表示 [+0]反=000…00B [–0]反=111…11B归纳为数学表达式:

当X≥+0时,[X]反=X 当X≤–0时,[X]反=2n–1+X

(3)反码表示的数值范围

若反码为8位,

当[X]反=0

X6X5…X1X0,真值X的范围为+0+127[X]反=1X6X5…X1X0,真值X的范围为-0-127

8位反码表示的数值范围为:-127

+127即–(2(8-1)-1)

+(2(8-1)-1)

推广到一般性,反码为n位,[X]反=Xn-1Xn-2Xn-3…X1X0,,,,表示的数值范围为:

–(2(n-1)-1)

+(2(n-1)-1)补码:

(1)补码的概念先以时钟为例说明补码的概念和用法。

指针指在7点,第一次从7点逆时针转动4格,指针停在3点

第二次从7点开始顺时针转动8格,指针停在3点

结果说明:

7-4=3 7+8=15-12=37-(12-8)=3 126397在以12为模时,7-4和7+8等效。于是有数学式:7-4=7+8(mod12)

在12为模时3和15同余∴8是4以12为模的补码,减4就可以变成+8计算。一般

模为M时,X=k

M+X[X]补=M+X

推广到二进制数,字长为n位,则模为2n

,有:

[X]补=

2n+X

(2)补码的定义正数的补码表示与原码相同,(最高位用“0”表示正,其余位为数值位.)

负数的补码表示为它的反码+1。例:[+4]补=00000100;[-4]补=11111100

[+35]补=00100101;[-35]补=11011011

(3)补码和真值的关系

正数的补码表示 X=+Xn-2Xn-3…X1X0(n-1位二进制正数), 则[X]补=0

Xn-2Xn-3…X1X0=X

负数的补码表示

X=—Xn-2Xn-3…X1X0(n-1位二进制负数) 则[X]补=1Xn-2Xn-3…X1X0+1=2n–Xn-2Xn-3…X1X0 =2n+(–Xn-2Xn-3…X1X0)=2n+X

零的补码表示 [+0]补=000…00B [–0]补=000…00B归纳为数学表达式:

当X≥0时,[X]补=X 当X<0时,[X]补=2n+X

(4)补码表示的数值范围若补码为8位,

当[X]补=0

X6X5…X1X0,真值X的范围为+0+127[X]补=1X6X5…X1X0,真值X的范围为-1-128

8位补码表示的数值范围为:-128

+127即–(2(8-1))

+(2(8-1)-1)

推广到一般性,补码为n位,[X]补=Xn-1Xn-2Xn-3…X1X0,,,,表示的数值范围为:

–(2(n-1))

+(2(n-1)-1)(5)补码的求法

①根据定义求

正数的补码表示与原码相同;负数的补码表示为它的反码+1(符号位为1,尾数按位取反,最低位加1)。

例:X1=+1010111[X1]补=01010111 X2=-1010111[X2]补=10101001

②根据补码和真值的关系式求

数学表达式:

当X≥0时,[X]补=X 当X<0时,[X]补=2n+X=2n

X

例:Y1

=+1010111[Y1]补=

01010111 Y2=-1010111[Y2]补=

28

-1010111=101010014.机器数之间及真值之间的转换

(1)机器数→真值区分机器数的符号位为0还是1。①符号位为0,即[x]原反补=

0

Xn-2Xn-3…X1X0,则真值

x=+Xn-2Xn-3…X1X0

②符号位为1,即[x]原反补=

1

Xn-2Xn-3…X1X0,

不同机器数转换方法不同:

[x]原=

1

Xn-2Xn-3…X1X0,

真值

x=-Xn-2Xn-3…X1X0

[x]反=

1

Xn-2Xn-3…X1X0,真值

x=-Xn-2Xn-3…X1X0

[x]补=

1

Xn-2Xn-3…X1X0,真值

x=-(Xn-2Xn-3…X1X0+1)

(2)原码、反码和补码之间的转换区分机器数的符号位为0还是1。①符号位为0,真值

x为正数,则[x]原=[x]反=[x]补②符号位为1,真值

x为负数,存在以下关系:

[x]补=[x]反+1[x]原=[[x]补]求补[x]补=[[x]原]求补

求补为

保持符号位不变,其余各位求反,最低位加1

的运算。

转换方法归纳为:正数:原,反,补相同负数: 原→反,符号位不变,尾数按位求反 原→补,符号位不变,尾数按位求反+1 补→原,符号位不变,尾数求反+1 反→原,符号位不变,尾数求反.例1:若[x]原=01101011求[x]补、[x]反。例2:若[x]原=11101011求[x]补、[x]反。例3:若[x]补=11101011求[x]原、[x]反。

三、带符号数的运算(补码的运算)

1、补码的加法

使符号位与数一起参加运算;加法运算公式:

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

│X│、│Y│、│X+Y│<2n-1

例用补码进行下列运算(设n=8):①(+18)+(-15)

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

00010010B[+18]补

+11110001B[-15]补

1

00000011B[+3]补

↑↑

最高位(符号位)为0,结果为正

符号位的进位,丢掉。②(-18)+(-11)

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

11101110B

[-18]补

+11110101B

[-11]补

1

11100011B

[-29]补

↑↑

最高位(符号位)为1,结果为负

符号位的进位,丢掉

计算机执行加法指令或加法操作时,按以上运算公式和过程进行有符号数的加法,存于寄存器或内存单元内的加数和被加数须均为补码形式,运算结果也是和的补码而不是和的真值。2、补码的减法

使符号位与数一起参加运算;

减法运算公式:

[X–Y]补=[X]补+[-Y]补

│X│、│Y│、│X–Y│<2n-1

其中[-Y]补

=[[Y]补]变补

变补是将每一位(包括符号位)都按位取反的运算过程计算机执行减法指令或减法操作是通过将减数变补与被减数相加来实现的,存于寄存器或内存单元内的减数和被减数须均为补码形式,运算结果也是差的补码而不是差的真值。

例用补码进行下列运算(设n=8):

①96-19

X=96,Y=19,则[X]补=[X]原=01100000B,[Y]补=[Y]原=00010011B[-Y]补=11101101B

01100000B[X]补+11101101B[-Y]补

1

01001101B[X-Y]补=[X-Y]原=+77

符号位为0,结果位正

符号位的进位,丢掉②(-56)-(-17)

X=-56,Y=-17,则[X]原=10111000B[X]补=11001000B[Y]原=10010001B[Y]补=11101111B[-Y]补=00010001B

11001000B[X]补+00010001B[-Y]补

11011001B=[X-Y]补符号位为1,结果为负数的补码,可对[X-Y]补再求补,得[X-Y]原=10100111B,真值

X-Y=-0100111B=-39D3、补码运算中的标志计算机设置若干标志,反映运算结果的特征状态(1)主要标志

C—进位(借位)标志

S—符号标志

OV—溢出标志(2)符号位

和进位(借位)的判别符号位判别—根据运算结果的最高位(符号位)为1或为0,置标志S=1或0加法时进位判别:根据运算过程最高位有无进位,置标志C=1或0减法时借位判别:根据加法过程最高位有无进位,有进无借,无进有借置标志C=0或1例1:(-18)+(-11)

11101110B

[-18]补

+11110101B

[-11]补

1

11100011B

[-29]补

运算后,进位标志C=1;符号标志S=1例2:96-19[X]补=01100000B,[Y]补=00010011B,[-Y]补=11101101B

01100000B[X]补+11101101B[-Y]补

101001101B[X-Y]补=+77运算后,借位标志C=0;符号标志S=0

例3:(-56)-(-17)

X=-56,Y=-17,则[X]补=11001000B,[Y]补=11101111B,[-Y]补=00010001B

11001000B[X]补+00010001B[-Y]补

11011001B=[X-Y]补运算后,借位标志C=1;符号标志S=1(2)溢出的判别①溢出——运算结果超出n位补码表示的数据范围运算中产生溢出,运算结果不能表示X±Y的补码例1:90+107

01011010B[90]补+01101011B[107]补

11000101B

符号位为1,表示结果为负数

产生溢出,结果无意义例2:(-110)-92

10010010[-110]补+10100100[-92]补

00110110

符号位为0,表示结果为正数产生溢出,结果无意义②溢出的判别方法

常用双高位判别法

Cs:它表征最高位(符号位)的进位(对加法)或借位(对减法)情况。Cp:它表征数值部分最高位的进位(对加法)或借位(对减法)情况。

若Cs和Cp同为0或同为1,便无溢出发生,只有当Cs和Cp为10或01状态时才会发生溢出。无溢出置标志OV=0;有溢出置标志OV=1。用数学算式表示:Cs

Cp=0无溢出

Cs

Cp=1溢出:CsCp=01为正溢出

CsCp=10为负溢出

例1:90+107

01011010B[90]补+01101011B[107]补

01

11000101B

Cs=0

Cp=1正溢出例2:(-110)-92

10010010[-110]补+10100100[-92]补

10

00110110

Cs=1

Cp=0负溢出三、无符号数的表示及其运算

1、无符号数的表示表示的是正数n位都是数值位,无符号位8位无符号数表示的数值范围为0〜255(28-1)n位无符号数表示的数值范围为0〜

2n-1

2、无符号数的加法运算公式:

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

X、Y、X+Y<2n)其中[X]补=X,[Y]补=Y,[X+Y]补=X+Y

无符号数的和必为正数。

运算中和补码数运算一样置标志,

例1:96+80[X]补=X=96D=01100000B,[Y]补=Y=80D=01010000B

01100000B+01

温馨提示

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

评论

0/150

提交评论