第2章.微机运算基础_第1页
第2章.微机运算基础_第2页
第2章.微机运算基础_第3页
第2章.微机运算基础_第4页
第2章.微机运算基础_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

第二章微机运算基础微型计算机原理及应用主编:李继灿清华大学出版社内容提要22.4二进制数的运算

2.3二进制编码2.1&2进位记数制及转换

2.6带符号数的表示2.5定点数和浮点数3理解进位记数制的基本特点。熟练掌握各种进位记数制之间相互转换的办法。掌握常用的8421BCD编码和ASCII编码。熟练掌握二进制数的各种算术运算与逻辑运算方法。理解数的定点和浮点表示法。理解和熟练掌握补码及其运算与溢出。学习要求4进位记数制(简称进位制):利用符号按照进位原则来记数的方法生活中的数制六十进制:1小时=60分,1分=60秒十二进制:1英尺=12英寸,1年=12月十进制:符合人们的习惯×10=2.1进位记数制5进位记数制三要素:数码、基数、位权

数码(Number):用不同的数字符号来表示一种数制的数值,这些数字符号称为“数码”。

例如:十进制数码(0,1,2,…,9)

基数(Radix,也称底数):数制中所使用的数码的个数

例如:十进制有10个数码,基数为10,逢十进一,借一当十进位计数制的基本概念6结论:在各进位记数制中,十进制是人们最熟悉的,二进制是在计算机内使用,八进制和十六进制则可看成二进制的压缩形式。位权(Weight):某数制中,每一位所具有的值称为“位权”,用基数的n次幂表示。例如:十进制中位权表示为,10-2(百分位),10-1(十分位),100(个位),101(十位)进位计数制的基本概念71二进制Binary

例如:(1001)21001B

2八进制Octal

例如:(317)8317Q

3十进制Decimal

例如:(531)10531D

4十六进制Hexadecimal

例如:(9A1)169A1H

数字系统中常用的数制8数码:0,1,2,3,4,5,6,7,8,9

基数:10

位权:10i,i=…3,2,1,0,-1,-2,-3…

规则:逢十进一

表示:(999.99)10,或者(999.99)D

,或者999.99

例如:

(143.75)10=1×102+4×101+3×100+7×10-1+5×10-2

(15)10=?2.1.1十进制(DecimalNumber)9数码:0,1

基数:2

位权:2i,i=…3,2,1,0,-1,-2,-3…

规则:逢二进一

表示:(1101.11)2,或者1101.11B2.1.2二进制(BinaryNumber)0—(2n-1)例如:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2

=

(5.75)10

(1111)2=?

n位二进制无符号整数表示范围:最早倡导二进制的是德国科学家莱布尼兹世界上总共有10种人,一种懂得什么是二进制,一种不懂

10数码:0,1,2,3,4,5,6,7

基数:8

位权:8i,i=…3,2,1,0,-1,-2,-3…

规则:逢八进一

表示:(257)8,或者(257)O

,或者(257)Q

例如:

(23.71)8=2×81+3×80+7×8-1+1×8-2

=(19.890625)10

(17)8=?

2.1.3八进制(OctalNumber)2.1.4十六进制数(Hexadecimal)数码:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13)、E(14),F(15)

基数:16

位权:16i,i=…3,2,1,0,-1,-2,-3…

规则:逢十六进一,借一当16

表示:(257)16,或者(257)H

(F)16=?11例如:

BF3CH=11×163+15×162+3×161+12×160

=11×4096+15×256+3×16+12×1=48956D小结十进制二进制八进制十六进制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F12各种数制对照表2.2各种进位数制之间的转换二进制数转换为十进制数方法1:按权相加方法2:整数部分、小数部分分别转换整数部分(从最高位开始,连续乘2)假设5位二进制整数N,表示为132.2.1任意进制转换为十进制二进制数转换为十进制数

例如:二进制整数10111,转化为十进制数为结果:二进制整数10111,转化为十进制数2314101112.2.1任意进制转换为十进制二进制数转换为十进制数小数部分(从最低位开始,连续除2)假设4位二进制整数N,表示为152.2.1任意进制转换为十进制二进制数转换为十进制数

例如:二进制小数.1011,转化为十进制小数为结果:二进制小数.1011,转化为十进制小数0.6875160.50.750.3750.68752.2.1任意进制转换为十进制2.2.2十进制数转换为非十进制数十进制数转换为二进制数整数部分(除2逆取余)17117余数∴(117)10=(1110101)2258

1229

014

1222

7

03

121

12例:(117)10=(?)20

1或

117D=1110101B2.2.2十进制数转换为非十进制数十进制数转换为二进制数小数部分(乘2顺取整)18整数0.8125

×210.625

×210.25

×2

00.5

×210例:(0.8125)10=(?)2=(1101)2注:1.若出现乘积的小数部分一直不为“0”,根据计算精度的要求截取一定的位数即可;2.一个十进制数不一定有对应的二进制数。2.2.3二/八/十六进制数的互换转换方法:分组转换(掌握)19二进制→八进制

原则:三位二进制对应一位八进制,不足补0

011101111.110357

6∴

011101111.11B=357.6Q十六进制→二进制

A19C

1010000110011100∴A19CH=1010000110011100B2.3二进制编码计算机只能识别二进制数二进制编码数字:用二进制表示十进制BCD码字母:ASCII码符号声音图像202.3.1二进制编码的十进制BCD(BinaryCodeDecimal)码:用二进制代码对十进制数进行编码,它既具有二进制码的形式(四位二进制码),又有十进制数的特点(每四位二进制码是一位十进制数)。21二进制与BCD码之间的转换,需要经过十进制十进制数BCD码十进制数BCD码十进制数BCD码0000060110120001001010001701111300010011200108100014000101003001191001150001010140100100001000016000101105010111000100011700010111BCD编码表例1:十进制数256,BCD码为(256)D=(001001010110)BCD例2:十进制数0.764,BCD码为(0.764)D=(0.011101100100)BCD22例3:11.25D=(???)BCD=(00010001.00100101)BCD=(1011.01)BCD???×××2.3.1二进制编码的十进制例4:BCD码转换为十进制数(011000111000.100101010100)BCD=(628.954)D例5:二进制数转换为BCD码(1011.01)B=1×23+0×22+1×21+1×20+0×2-1+1×2-2)D=11.25D=(00010001.00100101)BCD232.3.1二进制编码的十进制8421码:编码值与ASCII码字符0到9的低4位码相同,易于实现人机联系。但比纯二进制编码效率低。余3码:是在8421码得基础上,把每个代码都加0011码而形成的。它的主要优点是执行十进制数相加时,能正确地产生进位信号,而且还给减法运算带来了方便。格雷码:循环码中的一种,任何两个相邻的代码只有一个二进制位的状态不同,有利于抗干扰。242.3.1二进制编码的十进制2.3.2字母与字符的编码25

A~Z,a~z及0~9的编码按顺序递增数据编码,便于检索。美国信息交换标准代码(ASCII码)ASCII码(AmericanStandardCodeforInformationInterchange)由7位二进制数组成,可表示27=128种字符。包括:

0~9十个数字

52个大小写英文字母

32个专用符号

34个控制符号128个元素非打印类(控制代码):34个,如回车(0DH)、换行(0AH)等打印类:94个,包括英文字符、数字和其他可打印的符号等。26数字0-9的ASCII码:30H-39H30H+数值A-Z的ASCII码:41H-5AHa-z的ASCII码:61H-7AH

小写字母的ASCII码=对应大写字母的ASCII码+20H换行的ASCII码:0AH回车的ASCII码:0DH空格的ASCII码:20HASCII码7位ASCII码表27高位低位0123456700000101001110010111011100000NUL空白DLE数据链换码SP0@P、p10001SOH标题开始DC1设备控制1!1AQaq20010STX文本开始DC2设备控制2”2BRbr30011ETX文本结束DC3设备控制3#3CScs40100EOT传输结束DC4设备控制4$4DTdt50101ENQ询问NAK否定应答%5EUeu60110ACK应答SYN空转同步&6FVfv70111BEL报警符ETB信息组传输结束‘7GWgw81000BS退一格CAN删去符(8HXhx91001HT横向列表ME信息结束)9IYiyA1010LF换行SUB减*:JZjzB1011VT垂直列表ESC换码+;K[k{C1100FF走纸控制FS文件分隔符,<L\l|D1101CR回车GS组分隔符-=M]m}E1110SO位移输出RS记录分隔符.>N↑n—F1111SI位移输入US单元分隔符/?O←oDEL作废字符2.4二进制数的运算无符号数的两种基本运算算术运算逻辑运算281.算术运算

二进制数:逢二进一借一当二加法规则乘法规则

0+0=000=00+1=101=01+0=110=01+1=10(进位1)11=129

进位

1111

被加数

10101101+加数

00111001

和11100110运算过程:(被减数)

10101101−(减数)00111001(借位)

111(差)01110100加法减法301101×1011

1101110100001101

10001111部分积乘法例.1101×101131二进制除法例.100011÷101100011

111000111

101101

101

101101000(余数)商:111余数:0实现除法的关键:比较余数、除数绝对值大小,以决定上商。2.4.2

逻辑运算(按位操作)32“与”运算(AND)“或”运算(OR)

ABABABAB000000010011100101111111“非”运算(NOT)

“异或”运算(XOR,⊕)

A

ABAB0100010

01110111033例:X=00FFHY=5555H,求Z=XY=?X=0000000011111111B

Y=0101010101010101B

Z=0101010110101010BZ=55AAH异或342.5数的定点表示和浮点表示2.5.1定点表示(Fixpointnumber)定点数:小数点固定在数的某个位置,即阶码是固定值。计算机中没有专门表示小数点的位,小数点的位置是约定的。34任意一个二进制数可以表示为:纯小数或纯整数与一个2的整数次幂的乘积,即S—数N的尾数,表示了数N的全部有效数字P—数N的阶码,确定了小数点的位置2—阶码的底35352.5.1定点表示如假定P=0,且尾数S为纯小数时,这是的定点数只能表示小数。35如假定P=0,且尾数S为纯整数时,这是的定点数只能表示小数。定点数的两种表示法,在计算机中均有采用。究竟采用哪种方法,均是事先约定的。如用纯小数进行计算时,其运算结果要用适当的比例因子来折算成真实值。符号尾数S符号尾数S362.5.1定点表示在计算机中,数的正负是用0(正)和1(负)来表示。例如:8位二进制数,最左边第1位表示符号(称为符号位)。其余7位可以用来表示尾数。定点纯整数表示范围:无符号时:00000000~11111111,即0~255;有符号时:-1111111~+1111111,即-127~+12737n位定点纯小数表示范围:2.5.1定点表示结论:定点数表示法简单直观,但是数值表示的范围太小,运算时容易产生溢出。n-1个0n位2.5.2浮点表示(Floatingpointnumber):浮点数:小数点位置是浮动的,即阶码可以取不同的值。阶码P:用二进制整数表示,决定了浮点数的取值范围。尾数S:常用二进制小数表示,决定了浮点数的表示精度。38PfPm-1阶码符号阶码小数点位置(隐含)m位阶码P2P1SfSk-1S2S1k位尾数尾数符号尾数小数点位置(隐含)2.5.2浮点表示浮点数可以表示成多种形式:0.110×26=1.10×25=0.000110×29……39为了不丢失有效数字,提高运算精度,采用二进制浮点规格化数.浮点规格化:尾数S的绝对值小于1而大于或等于1/2,即小数点后面一位必须是1。40例:二进制数+1011.101.可写成2+100×0.1011101(相当于十进制数11.625),其浮点数表示为。浮点表示和定点表示相比,多了一个阶码部分浮点表示的范围(m位阶码,n位尾数)0100010111012.5.2浮点表示阶码符号尾数符号阶码最小值阶码最大值阶码尾数

浮点表示法的特点:①优点:在有限位数(即不增加字长)内,既能保证有较大的取值范围,又能保证较高的精度。②缺点:实现浮点运算的硬件成本较高。412.5.2浮点表示2.6带符号数的表示法2.6.1机器数与真值符号数码化:将符号用“0正1负”表示,并以二进制数的最高位(D7位)最为符号位。42符号位D7D6D5D4D3D2D1D0机器数:数据在计算机中连同数码化的符号位一起表示的编码数。真值:把机器数实际代表的数称为机器数的真值。机器数有符号数:无符号数:没有符号位原码反码补码43带符号数的编码方式原码表示(掌握)反码表示补码表示(重点)对于正数,三种表示方式一样,其区别在于负数的表示2.6.2机器数的种类和表示方法原码(truecode)表示法:符号位+数值表示定点整数441.原码表示法11111111-(27-1)01111111(27-1)0例:n=8bit[+3]原码

=00000011=03H[-3]原码

=10000011=83H[+0]原码

=00000000=00H[-0]原码

=10000000=80H例如:n=80的表示不惟一n位原码表示范围:-2(n-1)+1≤X≤2(n-1)-1

原码性质原码为符号位加数的绝对值,0正1负符号和数值无关0可分+0和-0

+0为00…0-0为10…0原码表示简单易懂,与真值的转换很方便。但在计算机中进行减运算时比较麻烦45反码(one’s

complementcode)表示法正数的反码同原码,负数的反码数值位与原码相反例:n=8bit[+5]反码

=00000101=05H[-5]反码=11111010=FAH[+0]反码

=00000000=00H[-0]反码=11111111=FFH

0的表示不惟一462.反码表示法*反码不能直接进行两数的加减运算

反码性质“0”的反码有两种表示法:

+0为00000000-0为111111118位二进制反码的数值范围:+(127)D~-(127)D

一个带符号数用反码表示时,最高位为符号位。47补码•引入的思路(1)由钟表拨表针的方法得到启示;例如:把表上的8点钟改为6点钟方法二:顺时针拨10格方法一:反时针拨2格补码•引入的思路(2)拨针方法小结:

8-2=68+10=6思考:为什么会出现这种现象?计算机中是否也有这种现象?

(表盘是圆的,可循环计时。)方法二:顺时针拨10格方法一:反时针拨2格补码•引入的思路(3)计算机储存一个数也有与钟表相同的特点:循环计数因此对于计算机,要计算像8-2

这样的减法式子,也可以化为加法形式来进行。思考:在计算机中,8-2是否也可以化为8+10?如果不行,那么应化为什么样的式子?补码•引入的思路(4)不同之处:表计时的最大数是12计算机计数的最大数不是12(思考:那么是多少呢?)我们把这个数称为模计算机的模与字长有关。8位机的模是28=256……n位模=12模=2n补码•引入的思路(5)观察钟表拨针的两种方法:

8-2=68+10=6

我们可以看出,减去一个数a

相当于加上(模-a)一样,而在计算机中也有相同情况。在8位字长的计算机中,减去一个数a相当于加上(28-a)一样。我们称(28-a)为a的补数,其二进制表示形式称为补码。例:64-10=64+(-10)=64+(256-10)=64+246=256+54=54533.补码表示法正数的补码:同原码负数的补码:(1)反码加1

(2)所对应正数连同符号位,按位取反再加1补码(Two’sComplement)54例:机器字长8位,[-46]补码=?[46]补码=001011101101000111010010=D2H

当机器字长16位,[-46]补码=FFD2H

按位求反末位加一①由真值、原码转化为补码特例:[-128]补=10000000B[+1]补=00000001B[-1]补=11111111B求补规则:正数的补码符号位为0,数值部分就是真值。负数的补码符号位为1,数值部分可由真值的数值部分按位取反,末位加一得到。55

00000000取反11111111+00000001100000000例:[+0]补码=00000000[-0]补码=?

0的补码

补码中0的表示惟一[-0]补码=00000000

=[+0]补码进位56

十进制二进制十六进制十进制十六进制

n=8

n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二进制补码整数的表示范围:

-2n-1≤X≤2n-1-1

补码比原码多表示一个数!n位原码表示范围:-2n-1+1≤X≤2n-1-1规则:若补码的符号位为0,则真值为正,真值的数值部分等于补码的数值部分;若补码的符号位为1,则真值为负,真值的数值部分由补码的数值部分取反加一得到。57X补=1.0110

尾数变反1.1001

末位加1+1X原=1.1010真值-0.1010=(-0.625)10②由补码求真值例:X补=1.0110,求X原与真值性质:[X]补->[-X]补->[X]补58

[117]补=01110101对[117]补求补:①取反得:10001010②加一得:

10001011

[-117]补=10

温馨提示

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

评论

0/150

提交评论