微机原理与单片机:第2章 计算机中的数制和编码

举报
资源描述
第2章 计算机中的数制和编码 第2章 计算机中的数制和编码 2.1无符号数的表示及运算无符号数的表示及运算2.2带符号数的表示及运算带符号数的表示及运算2.3信息的编码信息的编码2.4数的定点与浮点表示法数的定点与浮点表示法9/6/20221第2章 计算机中的数制和编码 2.1 无符号数的表示及运算 2.1.1无符号数的表示方法无符号数的表示方法1.十进制数的表示方法十进制数的表示方法十进制计数法的特点是:十进制计数法的特点是:逢十进一;逢十进一;使使用用10个个数数字字符符号号(0,1,2,9)的的不不同同组组合合来来表表示示一一个个十进制数;十进制数;以后缀以后缀D或或d表示十进制数(表示十进制数(Decimal),),但该后缀可以省但该后缀可以省略略。9/6/20222第2章 计算机中的数制和编码 任何一个十进制数可表示为:任何一个十进制数可表示为:式中:式中:m表示小数位的位数,表示小数位的位数,n表示整数位的位数,表示整数位的位数,Di为第为第i位位上的数符(可以是上的数符(可以是0 9十个数字符号中的任一个)。十个数字符号中的任一个)。例例2.1 138.5(D)=9/6/20223第2章 计算机中的数制和编码 2.二进制数的表示方法二进制数的表示方法二进制计数法的特点是:二进制计数法的特点是:逢二进一;逢二进一;使用使用2个数字符号(个数字符号(0,1)的不同组合来表示一个二进制数;)的不同组合来表示一个二进制数;以后缀以后缀B或或b表示二进制数(表示二进制数(Binary)。)。任何一个二进制数可表示为:任何一个二进制数可表示为:式中:式中:m为小数位的位数,为小数位的位数,n为整数位的位数,为整数位的位数,Bi为第为第i位上的数位上的数符(符(0或或1)。)。例例2.21101.11B=9/6/20224第2章 计算机中的数制和编码 3.十六进制数的表示法十六进制数的表示法十六进制计数法的特点是:十六进制计数法的特点是:逢十六进一;逢十六进一;使使用用16个个数数字字符符号号(0,1,2,3,9,A,B,C,D,E,F)的的不不同组合来表示一个十六进制数,其中同组合来表示一个十六进制数,其中A F依次表示依次表示10 15;以后缀以后缀H或或h表示十六进制数(表示十六进制数(Hexadecimal)。)。9/6/20225第2章 计算机中的数制和编码 任何一个十六进制数可表示为:任何一个十六进制数可表示为:式中:式中:m为小数位的位数,为小数位的位数,n为整数位的位数,为整数位的位数,Hi为第为第i位上的数位上的数符(可以是符(可以是0,1,,9,A,B,C,D,E,F十六个数字符号中的任一十六个数字符号中的任一个)。个)。例例2.30E5AD.BFH=9/6/20226第2章 计算机中的数制和编码 一般来说,对于基数为的任一数可用多项式表示为:一般来说,对于基数为的任一数可用多项式表示为:(2.1.4)式中:式中:X为基数,表示为基数,表示X进制;进制;i为位序号;为位序号;m为小数部分位数;为小数部分位数;n为整数部分的位数;为整数部分的位数;ki为第为第i位上的数值,可以为位上的数值,可以为0,1,2,X-1共共X个数字符号中任一个;个数字符号中任一个;Xi为第为第i位的权。位的权。9/6/20227第2章 计算机中的数制和编码 2.1.2各种数制的相互转换各种数制的相互转换1任意进制数转换为十进制数任意进制数转换为十进制数二进制、十六进制以至任意进制数转换为十进制数的方法二进制、十六进制以至任意进制数转换为十进制数的方法很简单,只要按式很简单,只要按式2.1.2,2.1.3和和2.1.4各位按权展开(即该位的各位按权展开(即该位的数值乘于该位的权)求和即可。数值乘于该位的权)求和即可。9/6/20228第2章 计算机中的数制和编码 将将整数部分不断除以整数部分不断除以2,记下每次得到的,记下每次得到的余数,直到商为零;余数,直到商为零;余数倒排,即最后得到的余数倒排,即最后得到的余数排在最高位,第一个余数排在最低位。例如余数排在最高位,第一个余数排在最低位。例如将十进制数将十进制数13转换成二进制数:转换成二进制数:213余数余数2612302110113D=1101B2.十进制数转换成二进制数十进制数转换成二进制数1)整数部分的转换整数部分的转换(除除2取余法取余法)9/6/20229第2章 计算机中的数制和编码 小数部分转换:乘小数部分转换:乘2取整,顺序排列得到的整数。取整,顺序排列得到的整数。例如将例如将0.8125转换成二进制数:转换成二进制数:0.8125整数整数21.625021.2520.5021.000.8125D=0.1101B(有时会有转换误差有时会有转换误差,如,如0.3D)返回数制转换返回数制转换2)小数部分的转换小数部分的转换(乘乘2取整法取整法)9/6/202210第2章 计算机中的数制和编码 显显然然,该该方方法法也也适适用用于于将将十十进进制制整整数数转转换换为为八八进进制制整整数数(基基数数为为8)、十十六六进进制制整整数数(基基数数为为16)以以至至其其它它任任何何进进制制整数。整数。9/6/202211第2章 计算机中的数制和编码 例例2.4将将13.75转换为二进制数。转换为二进制数。分别将整数和小数部分进行转换:分别将整数和小数部分进行转换:整数部分:整数部分:13=1101B小数部分:小数部分:0.75=0.11B因此,因此,13.75=1101.11B9/6/202212第2章 计算机中的数制和编码 例例2.5将将28.75转换为十六进制数转换为十六进制数整数部分:整数部分:28=1CH小数部分:小数部分:0.7516=12.0,B-1=CH,小数部分已为小数部分已为0,停止,停止计算。计算。因此,因此,28.75=1C.CH9/6/202213第2章 计算机中的数制和编码 3二进制数与十六进制数之间的转换 因为24=16,即可用四位二进制数表示一位十六进制数,所以可得到如下所述的二进制数与十六进制数之间的转换方法。将将二二进进制制数数转转换换为为十十六六进进制制数数的的方方法法:以小数点为界,向左(整数部分)每四位为一组,高位不足4位时补0;向右(小数部分)每四位为一组,低位不足4位时补0。然后分别用一个16进制数表示每一组中的4位二进制数。将十六进制数转换为二进制数的方法:将十六进制数转换为二进制数的方法:直接将每一位十六进制数写成其对应的四位二进制数。9/6/202214第2章 计算机中的数制和编码 例例2.6 1101110.01011B=0110,1110.0101,1000B=6E.58H2F.1BH=101111.00011011B 9/6/202215第2章 计算机中的数制和编码 课堂练习课堂练习1、将十进制数、将十进制数218.8125转换为二进制数和转换为二进制数和十六进制数。十六进制数。2、将二进制数、将二进制数10111100.111B转换为十进制转换为十进制数和十六进制数。数和十六进制数。11011010.1101BDA.DH188.875DBC.EH9/6/202216第2章 计算机中的数制和编码 2.1.3二进制数的运算二进制数的运算1.二进制数的算术运算二进制数的算术运算(1)加加:0+0=00+1=11+0=11+1=0(进(进1)(2)减减:0-0=01-1=01-0=10-1=1(借位)(借位)(3)乘乘:0 0=00 1=01 0=01 1=1(4)除除:二进制除法是乘法的逆运算。二进制除法是乘法的逆运算。9/6/202217第2章 计算机中的数制和编码 例:完成下列数的加减运算。例:完成下列数的加减运算。1、1101+10112、11101110-101110103、7A6C+56DF11000110100D14B9/6/202218第2章 计算机中的数制和编码 2.二进制数的逻辑运算二进制数的逻辑运算(1)“与与“运运算算(AND).“与与”运运算算又又称称逻逻辑辑乘乘,可用符号可用符号“”或或“”表示。运算规则如下:表示。运算规则如下:0 0=00 1=01 0=01 1=1可以看出,只有当两个变量均为可以看出,只有当两个变量均为“1”时,时,“与与”的结果才的结果才为为“1”。(2)“或或”运算(运算(OR)“或或”运算又称逻辑加,可用符号运算又称逻辑加,可用符号“”或或“+”表示。运算表示。运算规则如下:规则如下:0 0=00 1=11 0=11 1=1可以看出,两个变量只要有一个为可以看出,两个变量只要有一个为“1”,“或或”的结果就的结果就为为“1”。9/6/202219第2章 计算机中的数制和编码(3)“非非”运算(运算(NOT)变量的变量的“非非”运算结果用表示。逻辑运算结果用表示。逻辑“非非”运算规则如下:运算规则如下:(4)“异或异或”运算(运算(XOR)“异或异或”运算可用符号运算可用符号“”表示。运算规则如下:表示。运算规则如下:可以看出,两变量只要不同,可以看出,两变量只要不同,“异或异或”运算的结果就为运算的结果就为“1”。9/6/202220第2章 计算机中的数制和编码(4)“异或异或”运算(运算(XOR)“异或异或”运算可用符号运算可用符号“”表示。运算规则如下:表示。运算规则如下:可以看出,两变量只要不同,可以看出,两变量只要不同,“异或异或”运算的结果就为运算的结果就为“1”。9/6/202221第2章 计算机中的数制和编码 例例2.7 A=11110101B,B=00110000B,求 解解9/6/202222第2章 计算机中的数制和编码 作作业业课本课本P30:1.(4),2.(4),3.(2),4.(2),5(全部全部)*完成下列数的运算。完成下列数的运算。(1)、)、7A6C+D32A(2)、)、7A6C-56DF14D96238D9/6/202223第2章 计算机中的数制和编码 2.2带符号数的表示及运算带符号数的表示及运算2.2.1机器数与真值机器数与真值在在计计算算机机中中,为为了了区区别别正正数数和和负负数数,通通常常用用二二进进制制数数的的最最高高位位表表示示数数的的符符号号。对对于于一一个个字字节节型型二二进进制制数数来来说说,D7位位为为符符号号位位,D6 D0位位为为数数值值位位。在在符符号号位位中中,规规定定用用“0”表表示示正正,“1”表示负,而数值位表示该数的数值大小。表示负,而数值位表示该数的数值大小。把一个数及其符号位在机器中的一组二进制数表示形式,把一个数及其符号位在机器中的一组二进制数表示形式,称为称为“机器数机器数”。机器数所表示的值称为该机器数的机器数所表示的值称为该机器数的“真值真值”。9/6/202224第2章 计算机中的数制和编码 1.原码原码正数原码:符号位为正数原码:符号位为0,数值位照抄。,数值位照抄。负数原码:符号位为负数原码:符号位为1,数值位照抄。,数值位照抄。例:(例:(1)、当机器字长)、当机器字长n=8时,时,X=+25=+00011001BX原原=00011001BX=-25=-00011001BX原原=10011001B(2)、)、当机器字长当机器字长n=16时,时,X=+25=+0000000000011001BX原原=0000000000011001BX=-25=-0000000000011001BX原原=1000000000011001B2.2.2机器数的表示方法(原码、反码、补码)机器数的表示方法(原码、反码、补码)9/6/202225第2章 计算机中的数制和编码 注:注:1、原码表示数的范围是、原码表示数的范围是-(2n-1-1)+(2n-1-1)。8位二进制位二进制原码表示数的范围为原码表示数的范围为-127+127,16位二进制原码表示数的范位二进制原码表示数的范围为围为-32767+32767。2、“0”的原码有两种表示法:的原码有两种表示法:+0原原=00000000,-0
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 中学教育 > 初中教育


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号