版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 1.3 微型计算机的基础知识 1.3.1 基本概念 在计算机内部表示二进制数的方法称为数值编码,把一个数及其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。 表示一个机器数,应考虑以下三个因素: 1机器数的范围 字长为8位,无符号整数的最大值是(11111111)B=(255)D, 此时机器数的范围是0 - 255。 字长为16位,无符号整数的最大值是 (1111111111111111)B=(FFFF)H=(65535)D, 此时机器数的范围是0 - 65535。 2机器数的符号 在算术运算中,数据是有正有负的,将这类数据称为带符号数。 为了在计算机中正确地表示带符
2、号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。 3机器数中小数点的位置 在机器中,小数点的位置通常有两种约定: 一种规定小数点的位置固定不变,这时的机器数称为 “定点数”。 另一种规定小数点的位置可以浮动,这时的机器数称 为“浮点数”。 在计算机中,约定数据小数点的位置固定在某一位,原理上讲,小数点的位置固定在哪一位都行,但是,通常有两种定点格式,一是将小数点固定在数的最左边(即纯小数),二是固定在数的最右边(即纯整数)。 例如,用宽度为n+1位的字来表示定点数X,其中X0表示数的符号,例如1代表负数,0代表正数,其余位代表它的数位,对于任意定点数X=X0X1X2Xn,
3、在定点计算机中可表示为: 如果X为纯小数,小数点固定在X0与X1之间,数X的表示范围为: 0|X|1-2-n 如果X为纯整数,小数点固定在Xn的右边,数X的表示范围为: 0|X|2n -1 (2) 浮点数的表示法(1)任意一个十进制数N可以写成 N=10EM (1-3)任意一个二进制数N可以写成 N=2em (1-4) 例如,N=101.1101=200110.1011101同样,在计算机中一个任意进制数N可以写成: N=ReM 其中,其中,m m为浮点数的尾数,是一个纯小数,为浮点数的尾数,是一个纯小数,e e是比例因是比例因子的指数,称为浮点数的指数,是一个纯整数,比例因子子的指数,称为浮
4、点数的指数,是一个纯整数,比例因子的基数的基数R R是一个常数,一般是一个常数,一般R R取值为取值为2 2,也有取值为,也有取值为8 8、1616两两种情况。种情况。(2)浮点数的表示法(2)在计算机中存放一个完整的浮点数,应该包括阶码、阶符、尾数以及尾数的符号(数符)共4部分,即:E ES SE E1 1E E2 2E Em mM MS SM M1 1M M2 2M Mn n阶符阶符阶码阶码数符数符尾数尾数 一般按照IEEE754标准,采用32位浮点数和64位浮点数两种标准格式。 32 32位浮点数标准格式如下:位浮点数标准格式如下: 它与它与3232位浮点数的组成原理相同,约定基数位浮点
5、数的组成原理相同,约定基数R=2R=2,尾,尾数符号位数符号位S S占一位,置于最高位,规格化的尾数占一位,置于最高位,规格化的尾数M M占占5252位,位,最左边一位最左边一位1 1已被隐藏。已被隐藏。1.3.2 原码、反码与补码1.机器数与真值 机器数:带符号的二进制数称之为机器数。 二进制数最高位作为符号位 :1表示负数,0表示正数例:取8位字长时:10001111B则可以代表-1500001111B则可以代表+15真值真值:机器数所能表示的值。:机器数所能表示的值。 在微机中,机器数有三种表示方法,即原码、反码与补码在微机中,机器数有三种表示方法,即原码、反码与补码2. 原码表示法 若
6、定点整数的原码形式为X0X1X2Xn,则原码表示的定义是 X 2n X0 X原= 2n-X=2n + X 0X-2n X0为符号位,若n=7,即字长8位,则 X取值范围:-127+127 +0原=00000000 -0原=10000000原码 正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。【例】当机器字长为8位二进制数时: X1011011 X原码01011011 Y1011011 Y原码11011011 1原码00000001 1原码10000001 127原码01111111 127原码11111111 原码表示的整数范围是:
7、 (2n-11) (2n-11),其中n为机器字长。 则:8位二进制原码表示的整数范围是127 127; 16位二进制原码表示的整数范围是3276732767。 采用原码表示法简单易懂,但它采用原码表示法简单易懂,但它最大缺点是加法运算电路复杂,不容最大缺点是加法运算电路复杂,不容易实现。易实现。3.反码表示法 对于定点整数,反码表示的定义是: X 2n X0 X反= (2n+1-1) +X 0X-2n (1-9) 同样n取7,即字长8位,那么 X取值范围:-127+127 +0反= 00000000 -0反= 11111111 反码 对于一个带符号的数来说,正数的反码与其原码相同,负数的反码
8、为其原码除符号位以外的各位按位取反。【例】当机器字长为8位二进制数时: X1011011 X原码01011011 X反码01011011 Y1011011 Y原码11011011 Y反码10100100 1反码00000001 1反码11111110 127反码01111111 127反码10000000 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。 反码表示的整数范围与原码相同。4.补码表示法 对于定点整数,补码表示的定义是: X 2n X0 X补= 2n+1 +X=2n+1 - X 0X-2n (1-10) 同样如果n取7,即字长8位,那么 X取值范围:-128
9、+127 +0补=-0补=00000000 -10000000补=10000000 X补补=X,对已知的一个补码通过再一次求其补,便可还原出真值补码 正数的补码与其原码相同,负数的补码为其反码在最低位加1。【例】(1)X1011011 (2) Y1011011 (1)根据定义有: X原码01011011 X补码01011011(2)根据定义有: Y原码11011011 Y反码10100100 Y补码10100101 补码表示的整数范围是2n-1 (2n-11),其中n为机器字长。 则:8位二进制补码表示的整数范围是128 127 16位二进制补码表示的整数范围是32768 32767 当运算结
10、果超出这个范围时,就不能正确表示数了,此时称为溢出。 例例 若字长若字长8 8位,位,X=126X=126,Y=-126,Y=-126,求求 XX原原, XX反反,XX补补和和YY原原,YY反反,YY补补。 解:解: XX原原=X=X反反=X=X补补=01111110=01111110 Y Y原原=11111110=11111110 Y Y反反=10000001=10000001 Y Y补补=10000010=100000105.补码的加减法运算及溢出的判断 (1)补码加法运算 规则:X补+Y补 = X+Y补 条件:X、Y以及X+Y在定义域内 特点:符号位参与运算;以2n+1为模进行加法,最高
11、位相加产生的进位自然丢掉。 根据运算后结果的符号位,对结果求补,即 X+ Y补补=X+Y,便可还原出真值。(2)溢出的判断若参与操作的两数在定义域内,但运算结果超出了字长范围内补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出。例如字长8位,补码表示数的范围是: -128x+127,若字长n位,补码所能表示数的范围是-2n-1x2n-1-1,当运算结果超出这个范围时,便产生溢出,两个正数相加可能产生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。 例例 计算计算 64+6564+65 D D7 7D D6 6 0 1 0 0 0 0 0 0 + 64 0 1 0 0
12、 0 0 0 0 + 64 + 0 1 0 0 0 0 0 1 + 65 + 0 1 0 0 0 0 0 1 + 65 1 0 0 0 0 0 0 1 + 129+127 1 0 0 0 0 0 0 1 + 129+127, 结果错误,产生了结果错误,产生了溢出溢出 两个正数相加,结果为负数形式,这两个正数相加,结果为负数形式,这是由于是由于+129+127+129+127的原因,从上式可看出的原因,从上式可看出D D7 7=1=1,D D6 6=0=0,OF=DOF=D7 7 D D6 6=1=1 0=10=1,溢出标,溢出标志志OF=1OF=1,表示有溢出。,表示有溢出。 例例 计算计算-
13、128-1-128-1 D D7 7D D6 6 -128 -128补补 = 1 0 0 0 0 0 0 0 = 1 0 0 0 0 0 0 0 + -1 + -1补补 = 1 1 1 1 1 1 1 1 = 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 两个负数相加,结果为正数形式,这两个负数相加,结果为正数形式,这是由于是由于-128-1=-129-128-128-1=-129-128的原因,从上式的原因,从上式可看出可看出D D7 7=0=0,D D6 6=1=1,OF=DOF=D7 7 D D6 6=0=0 1=11=1,表,表
14、示有溢出。示有溢出。 例例 计算计算64-164-1 D D7 7D D6 6 +64 +64补补=0 1 0 0 0 0 0 0 =0 1 0 0 0 0 0 0 + -1 + -1补补= 1 1 1 1 1 1 1 1 = 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 运算结果正确。运算结果正确。D D7 7=0=0,D D6 6=0=0, 则则OF=DOF=D7 7 D D6 6=0=0 0=00=0,无溢出。,无溢出。6补码与真值之间的转换 正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可
15、得到该负数补码对应的真值的绝对值。【例】X补码01011001B,X补码11011001B,分别求其真值X。(1)X补码代表的数是正数,其真值: X1011001B(126124123120) (641681)(89)D(2)X补码代表的数是负数,则真值: X(1011001求反1)B(01001101)B (0100111)B(125122121120) (32421)(39)D1.3.2 、微机中常用的数字代码与字符代码1.数字代码(1)数字代码的表示 BCD码是一种常用的数字代码,它的编码方法是每个十进制数用4位二进制数表示,从而实现了用二进制数。 表示十进制数。在计算机中,最常用的BC
16、D码是8421码,称为标准BCD码,每个BCD码每位上对应的权值与二进制权值相同,十进制数09的BCD码则为0000、00011001。 二十进制编码BCD码 BCDBCD(Binary-Coded DecimalBinary-Coded Decimal)码又称为)码又称为“二二十进制编十进制编码码”,专门解决用二进制数表示十进数的问题。最常用的是专门解决用二进制数表示十进数的问题。最常用的是84218421编码,其方法是用编码,其方法是用4 4位二进制数表示位二进制数表示1 1位十进制数,自左位十进制数,自左至右每一位对应的位权是至右每一位对应的位权是8 8、4 4、2 2、1 1。1 1压
17、缩压缩BCDBCD码码 每一位数采用每一位数采用4 4位二进制数来表示,即一个字节表示位二进制数来表示,即一个字节表示2 2位位十进制数。例如:二进制数十进制数。例如:二进制数10001001B10001001B,采用压缩,采用压缩BCDBCD码表示码表示为十进制数为十进制数89D89D。2 2非压缩非压缩BCDBCD码码 每一位数采用每一位数采用8 8位二进制数来表示,即一个字节表示位二进制数来表示,即一个字节表示1 1位位十进制数。而且只用每个字节的低十进制数。而且只用每个字节的低4 4位来表示位来表示0 09 9,高,高4 4位为位为0 0。例如:十进制数例如:十进制数89D89D,采用
18、非压缩,采用非压缩BCDBCD码表示为二进制数是:码表示为二进制数是: 00001000 00001001B 00001000 00001001B (2)标准BCD码的加法 由于计算机中的基本运算电路只能作二进制加法运算,如果利用它实现BCD码相加,必须要找出将二进制加法运算电路适应标准BCD码相加的规则,然后遵循该规则设计出BCD码相加的运算电路例 0100 0101 + 0101 0100 1001 1001 结果正确 例 0100 0101 + 0101 0101 1001 1010 结果不正确 + 110 个位加6修正 1010 0000 结果还不正确 + 110 十位加6修正 1 0
19、000 0000 结果正确 BCD码加法的规则: 两个BCD数对应的BCD码位用二进制加法相加,若产生的和小于10则保持不变,结果正确;如果产生的和10,则在和数上作加6修正两个BCD数对应的BCD码位用二进制加法相加后,如果向高位BCD码产生了进位,说明逢十六进一,丢掉了6,所以也要作加6修正。加6修正的原因是:运算电路只能逢十六进一,不能逢十进一(3)标准BCD码的减法 BCD码减法规则:两个BCD数对应的BCD码位用二进制相减,不发生借位则结果正确两个BCD数对应的BCD码位用二进制相减,若低位向高位发生了借位,表示借16,而不是借10,在低位上要作减6修正2.字符代码 微机中常用的是A
20、SC码(美国信息交换标准代码),如表1-2所示。 它包括10个十进制数码,26个英文字母和一些专用符号,总共128个字符的ASC码,因此,只需要一个字节中的低7位编码,最高位可用作奇偶校验位,当最高位恒取1,称为标记校验,当最高位恒取0,称作空格校验。 ASC(American Standard Code for Information Interchange)码是美国信息交换标准代码的简称,用于给西文字符编码;包括英文字母的大小写、数字、专用字符、控制字符等; 这种编码由7位二进制数组合而成,可以表示128种字符; 在ASCII码中,按其作用可分为: 34个控制字符; 10个阿拉伯数字 52
21、个英文大小写字母; 32个专用符号 低位低位LSBLSB高位高位MSBMSB0 00000001 10010012 20100103 30110114 41001005 51011016 61101107 71111110 01 12 23 34 45 5000000000001000100100010001100110100010001010101NULNULSOHSOHSTXSTXETXETXEOTEOTENQENQDLEDLEDC1DC1DC2DC2DC3DC3DC4DC4NAKNAKSPSP!# #$ $% %0 01 12 23 34 45 5 A AB BC CD DE EP PQ
22、 QR RS ST TU U、a ab bc cd de ep pq qr rs st tu u6 67 78 89 9A A0110011001110111100010001001100110101010ACKACKBELBELBSBSHTHTLFLFSYNSYNETBETBCANCANEMEMSUBSUB& &, ,( () )* *6 67 78 89 9 :F FG GH HI IJ JV VW WX XY YZ Zf fg gh hi ij jv vw wx xy yz zB BC CD DE EF F101110111100110011011101111011101
23、1111111VTVTFFFFCRCRSOSOSISIESCESCFSFSGSGSRSRSUSUS+ +- -/ /; ; ? ?K KL LM MN NO O k kl lm mn no o | | DELDELNUL 空HT 横向列表(穿孔卡片指信令)FF 走纸控制DC4 设备控制4SOH 标题开始LF 换行CR 回车NAK 否定应答STX 正文结束SYN 空转同步SO 移位输出FS 文字分隔符ETX 本文结束ETB 信息组传送结束SI 移位输入GS 组分隔符EOT 传输结果CAN 删去符SP 空格RE 记录分隔符ENQ 询问EM 纸尽DLE 数据链换码US 单元分隔符ACK 承认SUB
24、减DC1 设备控制1DEL 作废VEL 报警符ESC 换码DC2 设备控制2BS 退一格VT 垂直制表DC3 设备控制3 128128个个ASCASC字符中有字符中有9595个编码,它个编码,它们分别对应计算机中在输入们分别对应计算机中在输入/ /输出终端设输出终端设备上能键入和输出显示以及输出打印的备上能键入和输出显示以及输出打印的9595个字符,包括大小写英文字母,其余个字符,包括大小写英文字母,其余3333个编码,其编码值为个编码,其编码值为0 0 3131和和127127,则,则不对应任何显示与打印实际字符,它们不对应任何显示与打印实际字符,它们被用作为控制码,控制计算机被用作为控制码
25、,控制计算机I/OI/O设备的设备的操作以及计算机软件的执行情况。操作以及计算机软件的执行情况。 通常,计算机中的数据分为两类:通常,计算机中的数据分为两类: (1 1)数:用来直接表示量的多少,有大小之分,能够进行加减)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。等运算。 (2 2)码:通常指代码或编码,在计算机中用来描述某种信息。)码:通常指代码或编码,在计算机中用来描述某种信息。 1. 1. 数制的基本概念数制的基本概念 (1) (1) 数的表示数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和。任何一种数制表示的数都可以写成按位权展开的多项式之和。 N Nd
26、dn n1 1b bn n1 1d dn n2 2b bn n2 2d dn n3 3b bn n3 3d dm mb bm m 式中:式中:n n整数的总位数。整数的总位数。 m m小数的总位数。小数的总位数。 d d下标下标表示该位的数码。表示该位的数码。 b b表示进位制的基数。表示进位制的基数。 b b上标上标表示该位的位权。表示该位的位权。 计算机中的数制及其转换计算机中的数制及其转换(2) (2) 计算机中常用的进位计数制计算机中常用的进位计数制 计数制计数制 基数基数 数数 码码 进位关系进位关系二进制二进制 2 02 0、1 1 逢二进一逢二进一八进制八进制 8 08 0、1
27、1、2 2、3 3、4 4、5 5、6 6、7 7 逢八进一逢八进一十进制十进制 10 010 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9 逢十进一逢十进一十六进制十六进制 16 016 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9 A A、B B、C C、D D、E E、F F 逢十六进一逢十六进一(3) (3) 计数制的书写规则计数制的书写规则 在数字后面加写相应的英文字母作为标识。在数字后面加写相应的英文字母作为标识。 如:二进制数的如:二进制数的100100可写成可写成100B100B 十六进制数十六进制数100100可写成
28、可写成100H100H 在括号外面加数字下标。在括号外面加数字下标。 如:(如:(10111011)2 2 表示二进制数的表示二进制数的10111011 (2DF22DF2)1616 表示十六进制数的表示十六进制数的2DF2 2DF2 2. 2. 数制之间的转换数制之间的转换 1.1.十进制整数转换为二进制整数十进制整数转换为二进制整数 采用基数采用基数2 2连续去除该十进制整数,直至商等于连续去除该十进制整数,直至商等于“0”0”为止,为止,然后逆序排列余数。然后逆序排列余数。 2.2.十进制小数转化为二进制小数十进制小数转化为二进制小数 连续用基数连续用基数2 2去乘以该十进制小数,直至乘
29、积的小数部分等去乘以该十进制小数,直至乘积的小数部分等于于“0”0”,然后顺序排列每次乘积的整数部分。,然后顺序排列每次乘积的整数部分。 3.3.十进制整数转换为八进制整数或十六进制整数十进制整数转换为八进制整数或十六进制整数 采用基数采用基数8 8或基数或基数1616连续去除该十进制整数,直至商等于连续去除该十进制整数,直至商等于“0”0”为止,然后逆序排列所得到的余数。为止,然后逆序排列所得到的余数。 4.4.十进制小数转换为八进制小数或十六进制小数十进制小数转换为八进制小数或十六进制小数 连续用基数连续用基数8 8或基数或基数1616去乘以该十进制小数,直至乘积的小去乘以该十进制小数,直
30、至乘积的小数部分等于数部分等于“0”0”,然后顺序排列每次乘积的整数部分。,然后顺序排列每次乘积的整数部分。 5. 5.二、八、十六进制数转换为十进制数二、八、十六进制数转换为十进制数 用其各位所对应的系数,按用其各位所对应的系数,按“位权展开求和位权展开求和”的方法就可的方法就可以得到。其基数分别为以得到。其基数分别为2 2、8 8、1616。 6.6.二进制数转换为八进制数二进制数转换为八进制数 从小数点开始分别向左或向右,将每从小数点开始分别向左或向右,将每3 3位二进制数分成位二进制数分成1 1组,组,不足不足3 3位数的补位数的补0 0,然后将每组用,然后将每组用1 1位八进制数表示即可。位八进制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级上册地理单元考试题及答案
- 2026年金融行业金融风险管理策略习题
- 2026年幼儿健康生活习惯培养测试
- 2026年金融投资策略专项训练题
- 2026年幼儿园中班语言表达与阅读理解测试卷
- 2026年生活技能与科学知识综合测试卷
- 2026年旅游管理实务操作考核试卷
- 2026年北师大版小学语文六年级第9单元古诗文鉴赏练习
- 2026年园林设计与施工技能考核习题
- 2026年道路交通事故处理流程模拟题
- 2026年新疆生产建设兵团事业单位考试真题及答案
- 2024版电网典型设计10kV配电站房分册
- 压疮护理小讲课
- 家畜生态学 绪论 第一章家畜与环境的关系课件
- 耵聍栓塞的护理
- GB/T 45356-2025无压埋地排污、排水用聚丙烯(PP)管道系统
- 《运动治疗技术》课件-pnf技术
- 23J916-1 住宅排气道(一)
- 华润电力招聘测评试题
- DL∕T 2447-2021 水电站防水淹厂房安全检查技术规程
- 中药热奄包疗法操作评分标准
评论
0/150
提交评论