计算机硬件技术基础--数制和编码_第1页
计算机硬件技术基础--数制和编码_第2页
计算机硬件技术基础--数制和编码_第3页
计算机硬件技术基础--数制和编码_第4页
计算机硬件技术基础--数制和编码_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第2 2章章数制和编码2主要内容n计算机中的常用计数制、编码及其相互间的计算机中的常用计数制、编码及其相互间的转换;转换;n二进制数的算术运算和逻辑运算;二进制数的算术运算和逻辑运算;n符号数的表示及补码运算;符号数的表示及补码运算;n二进制数运算中的溢出问题;二进制数运算中的溢出问题;n基本逻辑门及译码器;基本逻辑门及译码器;n定点数与浮点数的表示方法。定点数与浮点数的表示方法。32.1 计算机中的数制n了解:各种计数制的特点及表示方法;了解:各种计数制的特点及表示方法;n掌握:各种计数制之间的相互转换。掌握:各种计数制之间的相互转换。4一、常用计数制n十进制十进制符合人们的习惯符合人们

2、的习惯n二进制二进制便于物理实现便于物理实现n十六进制十六进制便于识别、书写便于识别、书写5十进制n特点:以十为底,逢十进一;特点:以十为底,逢十进一; 共共有有0-90-9十个数字符号十个数字符号。n表示:表示:权表达式权表达式120112011101010101010nnmnnmniiimDDDDDDDn:整数位数m:小数位数6二进制n特点:以特点:以2为底,逢为底,逢2进位;进位; 只有只有0和和1两个符号。两个符号。(数后面加数后面加B)n表示:表示:12012n 12011( )222222nnmnmniiimBBBBBBBn:整数位数m:小数位数7十六进制n特点:有特点:有0-9及

3、及A-F共共16个数字符号,个数字符号, 逢逢16进位。进位。(数后面加数后面加H)n表示:表示:1201161n 2011()161616161616 nnmnmniiimHHHHHHHn:整数位数m:小数位数8任意任意K K进制数的表示进制数的表示一般地,对任意一个一般地,对任意一个K进制数进制数S都可表示为都可表示为120n 120111()nnknmmniiimSSKSKSKSKSKSK 其中: Si - S的第i位数码,可以是K个符号中任何一个; n,m 整数和小数的位数; K - 基数; Ki - K进制数的权9例n234.98 或或 (234.98)10n1101.11B 或或

4、(1101.11)2nABCD . BFH 或或 (ABCD . BF)1610二、各数制间的转换n非十进制数非十进制数 十进制数:十进制数: 按相应的按相应的权表达式权表达式展开展开,再按十进制求和。再按十进制求和。n例:例:24.AH=2161+4160+A16-1 =36.625注:AF分别用1015代入11十进制 非十进制数n十进制十进制 二进制:二进制: 整数:除整数:除2取余;取余; 小数:乘小数:乘2取整。取整。n十进制十进制 十六进制:十六进制: 整数:除整数:除16取余;取余; 小数:乘小数:乘16取整。取整。以小数点为起点求得整数和小数的每一位。以小数点为起点求得整数和小数

5、的每一位。注:十进制转换成注:十进制转换成任意任意K进制数进制数与上类似,整:除与上类似,整:除K取余,小数:乘取余,小数:乘K取整。取整。12十进制到十六进制转换例400.25 = ( ? Hn400/16=25 -余数余数=0(个位)(个位)n25/16=1 -余数余数=9(十(十 n1/16=0 -余数余数=1(百位)(百位)n0.2516=4.0 -整数整数=4(1/10) 即:即:400.25 = 190.4H13二进制与十六进制间的转换n用用4位二进制数表示位二进制数表示1位十六进制数位十六进制数 0000 - 0H 1001 - 9H 1010 - AH 1011 - BH 11

6、00 - CH 1101 - DH 1110 - EH 1111 - FH14二进制与十六进制间的转换例:例: 10110001001.110 = (?)H 0101 1000 1001.1100 5 8 9 . C 注意:位数不够时要补注意:位数不够时要补0152.2 无符号二进制数的运算二进制数二进制数算术运算算术运算逻辑运算逻辑运算无符号数无符号数有符号数有符号数:算术运算算术运算16一、无符号数的算术运算n加法运算加法运算n减法运算减法运算n乘法运算乘法运算n除法运算除法运算17注意点:n对加法:对加法:1+1=0(有进位)(有进位)n对减法:对减法:0-1=1(有借位)(有借位)n对

7、乘法:仅有对乘法:仅有11=1,其余皆为,其余皆为0 0; 乘以乘以2相当于左移一位。相当于左移一位。n对除法:对除法: 除以除以2则相当于右移则相当于右移1位。位。18例n000010110100=00101100B n000010110100=00000010B 即:商即:商=00000010B 余数余数=11B19二、无符号数的表示范围一个一个n位的无符号二进制数位的无符号二进制数X,其表示,其表示范围为:范围为: 0 0 X 2 2n n-1-1 若运算结果超出这个范围,则产生溢出。若运算结果超出这个范围,则产生溢出。溢出的溢出的判别方法:判别方法: 运算时,当最高位向更高位有进位(或

8、借位)运算时,当最高位向更高位有进位(或借位)时则产生溢出时则产生溢出。20 11111111 00000001 000001000最高位向前有进位,产生溢出。最高位向前有进位,产生溢出。本例中:运算结果为本例中:运算结果为256,超出位二进制数所,超出位二进制数所 能表示的范围能表示的范围255。21三、逻辑运算与与()或(或()非(非()异或(异或()掌握掌握:逻辑关系(真值表)和逻辑门。:逻辑关系(真值表)和逻辑门。特点:按位运算,无进位特点:按位运算,无进位/借位。借位。22“与”、“或”运算n任何数和任何数和“0”相相“与与”,结果为,结果为0n任何数和任何数和“1”相相“或或”,结

9、果为,结果为1BACABC&1AB=CAB=C23“非”、“异或”运算n“非非”运算即按位求反运算即按位求反n两个二进制数相两个二进制数相“异或异或”: 相同则为相同则为0,相异则为,相异则为1AABC1 B=AA B=CB24“与非”、“或非”运算AB=C AB=CBACABC&125四、译码器n74LS138译码器:译码器:G1G2AG2BCBAY0Y7 38译码器原理译码使能端译码输入端译码输出端2674LS138真值表真值表使使 能能 端端输输 入入 端端输输 出出 端端G1 G2A G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 1 1 0 1

10、 1 0 1 0 01 0 01 0 01 0 01 0 01 0 01 0 01 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 1 0 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 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 272.3 符号数的表示及运

11、算计算机中的符号数的表示方法:计算机中的符号数的表示方法: 把二进制数的最高位定义为符号位把二进制数的最高位定义为符号位。 符号位:符号位:“0” 表示正,表示正, “1” 表示负。表示负。n把符号也数值化了的数,称为把符号也数值化了的数,称为机器数机器数。n机器数所表示的真实的数值,称为机器数所表示的真实的数值,称为真值真值。注:后面的讲述均以8位二进制数为例。28例n+52 = +0110100 = 0 0110100 符号位符号位 数值位数值位 n-52 = -0110100 = 1 0110100 真值真值机器数机器数29一、符号数的表示:n对于符号数,机器数常用的表示方法有对于符号数

12、,机器数常用的表示方法有原码原码、反码反码和和补码补码三种。数三种。数X的原码记作的原码记作X原原,反码记作,反码记作X反反,补码记作,补码记作X补补。注意:对正数,三种表示法均相同。注意:对正数,三种表示法均相同。 它们的它们的差别在于对负数的表示差别在于对负数的表示。30原码X原n最高位为符号位,用最高位为符号位,用“0”表示正,用表示正,用“1”表示负;表示负;数值部分照原样写出即可。数值部分照原样写出即可。n优点优点: 真值和其原码表示之间的对应关真值和其原码表示之间的对应关 系简单,容易理解;系简单,容易理解;n缺点缺点: 计算机中用原码进行加减运算比计算机中用原码进行加减运算比 较

13、困难,较困难,0的表示不唯一的表示不唯一。正式定义为:正式定义为:11122200-nnnXXXXX 原31数0的原码n+0=0 0000000 -0=1 0000000 即:数即:数0的原码不唯一。的原码不唯一。32原码的例子真值: X= +18 = +0010010X= -18 = -0010010原码: X原 = 0 0010010X原 = 1 0010010符号符号位 n位原码表示数值的范围是:位原码表示数值的范围是: 对应的原码是对应的原码是1111 0111() ()112121nn 33反码X反对一个数对一个数X:n若若X0 ,则,则 X反反=X原原n若若X0, 则则X补补= X

14、反反= X原原n若若X0, 则则X补补= X反反+1正式定义为:正式定义为:11222-nnnXXX 37例nX= 52= 0110100 X原原=10110100 X反反=11001011 X补补= X反反+1=11001100380的补码n+0补补= +0原原=00000000n -0补补 = -0反反+1=11111111+1 =1 00000000 n位补码表示数值的范围是位补码表示数值的范围是对应的补码是对应的补码是1000 0111对对8位字长,进位被舍掉位字长,进位被舍掉 ()11221nn 39特殊数10000000n该数在原码中定义为:该数在原码中定义为:-0n在反码中定义为

15、:在反码中定义为: -127n在补码中定义为:在补码中定义为: -128n对无符号数,(对无符号数,(10000000)B=128408/16位符号数的表示范围对对8位二进制数:位二进制数:n原码:原码: -127 +127n反码:反码: -127 +127n补码:补码: -128 +127对对16位二进制数:位二进制数:n原码:原码: -32767 +32767n反码:反码: -32767 +32767n补码:补码: -32768 +3276741符号二进制数与十进制的转换对用补码表示的二进制数:对用补码表示的二进制数: 1)求出真值)求出真值 2)进行转换)进行转换42例将一个用补码表示的

16、二进制数转换为十进制数。将一个用补码表示的二进制数转换为十进制数。nX补补=0 0101110B 真值为:真值为:0101110B 正数正数 所以:所以:X=+46nX补补=1 1010010B 真值不等于:真值不等于:-1010010B 负数负数 而是:而是:X= X补补补补= 11010010补补 = - 0101110 = - 4643二、符号数的算术运算n通过引进补码,可将减法运算转换为加法运算。通过引进补码,可将减法运算转换为加法运算。n即:即:X+Y补补= X补补+Y补补 X-Y补补= X+(-Y)补补 = X补补+-Y补补其中其中X,Y为正负数均可,符号位参与运算。为正负数均可,

17、符号位参与运算。44补码的运算是基于模的运算 模模(module)就是一个计数系统的最大容量就是一个计数系统的最大容量。例如钟表例如钟表的模为的模为12,8位二进制数的模为位二进制数的模为28,等等。,等等。 凡是用器件进行的运算都是有模运算,运算结果超过凡是用器件进行的运算都是有模运算,运算结果超过模的部分会被运算器模的部分会被运算器自动丢弃自动丢弃。因此,当器件为。因此,当器件为n位时,位时,有有 X=2n+X (mod 2n)根据定义,根据定义, X补补=2n+X (mod 2n)因此可得,因此可得, X Y补补= 2n + 2n + (X Y) (mod 2n) = (2n+X) +

18、(2n Y) (mod 2n) = X补补+ Y补补45例X=-0110100,Y=+1110100,求,求X+Y=?nX原原=10110100 nX补补= X反反+1=11001100nY补补= Y原原=01110100n所以:所以: X+Y补补= X补补+ Y补补 =11001100+01110100 =01000000 X+Y=+100000046符号数运算中的溢出问题n两个两个8位带符号二进制数相加或相减时,位带符号二进制数相加或相减时,若若 C7 C61 则结果产生溢出。则结果产生溢出。 其中:其中:C7为最高位的进为最高位的进(借借)位;位; C6为次高位的进为次高位的进(借借)位

19、。位。对16位或32位的运算,也有类似结论。47观察以下四种情况哪个溢出? 1 0 1 1 0 1 0 1 + + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 + + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 + + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1CASE1:CASE2:CASE3:假定以下运算都是有符号数的运算。假定以下运算都是有符号数的运算。 0 0 1 0 0 0 1 0 + + 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1C

20、ASE4:48例:n若:若:X=01111000, Y=01101001 则:则:X+Y=即:即:次高位向最高位有进位,而最高位向前无次高位向最高位有进位,而最高位向前无 进位,产生溢出。进位,产生溢出。 (事实上,两正数相加得出负数,结果出错)(事实上,两正数相加得出负数,结果出错)11100001 01101001 01111000 492.4 定点数与浮点数n定点数:小数点位置固定不变的数。定点数:小数点位置固定不变的数。n小数点的位置:小数点的位置:n纯小数n纯整数符号符号X1X2Xn小数点位置小数点位置符号符号X1X2Xn小数点位置小数点位置50浮点数n浮点数来源于科学记数法浮点数来

21、源于科学记数法n例如:+123.5=+0.123103 -0.001235=-0.12310-2n浮点数:用阶码和尾数表示的数,尾数通常为纯小数。浮点数:用阶码和尾数表示的数,尾数通常为纯小数。 2EF数符数符阶阶E阶符阶符尾数尾数F小数点位置小数点位置阶码阶码5180 x86中使用的IEEE标准浮点数n单精度浮点数(阶码偏移单精度浮点数(阶码偏移7FH)n双精度浮点数(阶码偏移双精度浮点数(阶码偏移3FFH)数符数符阶阶E(11位位)尾数尾数F(52位位) ,整数部分默认为,整数部分默认为1小数点位置小数点位置数符数符阶阶E(8位位)尾数尾数F(23位位),整数部分默认为,整数部分默认为1小

22、数点位置小数点位置 31 30 23 22 0 63 62 52 51 052例:n将将1011.10101用用8位阶码、位阶码、15位尾数的规格位尾数的规格化浮点数形式表示。化浮点数形式表示。解:因为解:因为1011.101010.10111010124 所以要求的浮点数为:所以要求的浮点数为:00000100101 1101 0100 00000阶码阶符数符尾数(后补0到15位)n用用IEEE标准单精度浮点数重做上题。标准单精度浮点数重做上题。因为因为1011.101011.0111010123, 阶为阶为7FH+3=82H=10000010B所以要求的浮点数为:所以要求的浮点数为: 010000010011 1010 1000 0000 0000 0000532.4 计算机中的编码用于表示非数值型数据。常用的二种:用于表示非数值型数据。常用的二种:lBCD码码l用二进制编码的十进制数lASCII码码l美国标准信息交换代码54BCD码n压缩压缩BCD码码n用4位二进制码表示一位十进制数,一个字节可放

温馨提示

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

评论

0/150

提交评论