资源描述:
《《数制与码制》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章运算方法和运算部件3.1数据的表示方法和转换3.1数制3.1.1数值型数据的表示和转换1、进位计数制进位计数制:用少量的数字符号(也称数码),按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制基数:进位制的基本特征数,即所用到的数字符号个数。例如10进制:0~9十个数码表示,基数为10权:进位制中各位“1”所表示的值为该位的权常见的进位制:2,8,10,16进制1)十进制(Decimal)基数:10;符号:0,1,2,3,4,5,6,7,8,9计算规律:“逢十进一”或“借一当十”并列表示:N10=
2、dn-1dn-2••••••d1d0d-1d-2••••••d-m十进制数的多项式表示:N10=dn-1×10n-1+dn-2×10n-2+••••••d1×101+d0×100+d-1×10-1+d-2×10-2+••••••d-m×10-Mm,n为正整数,其中n为整数位数;m为小数位数。Di表示第i位的系数,10i称为该位的权.例如:一个十进制数123.45的表示123.45=1×102+2×101+3×100+4×10-1+5×10-2注:等式左边为并列表示法等式右边为多项式表示法2)二进制(Binary)基数:2符号:0,
3、1计算规律:逢二进一或借一当二二进制的多项式表示:N2=dn-1×2n-1+dn-2×2n-2+••••••d1×21+d0×20+d-1×2-1+d-2×2-2+••••••d-m×2-m其中n为整数位数;m为小数位数。Di表示第i位的系数,2i称为该位的权.3)十六进制(Hexadecimal)基数:16符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F计算规律:逢十六进一或借一当十六二进制的多项式表示:N16=dn-1×16n-1+dn-2×16n-2+••••••d1×161+d0×160+d-1×16-
4、1+d-2×16-2+••••••d-m×16-m其中n为整数位数;m为小数位数。Di表示第i位的系数,16i称为该位的权.例如十六进制数(2C7.1F)16的表示(2C7.1F)16=2×162+12×161+7×160+1×16-1+15×16-22、进位计数制之间的转换1).R进制转换成十进制的方法按权展开法:先写成多项式,然后计算十进制结果.N=dn-1dn-2••••••d1d0d-1d-2••••••d-m=dn-1×Rn-1+dn-2×Rn-2+••••••d1×R1+d0×R0+d-1×R-1+d-2×R-2+••
5、••••d-m×R-m例如:写出(1101.01)2,(237)8,(10D)16的十进制数(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2=8+4+1+0.25=13.25(237)8=2×82+3×21+7×20=128+24+7=159(10D)16=1×162+13×160=256+13=2692)十进制转换成二进制方法一般分为两个步骤:整数部分的转换除2取余法(基数除法)减权定位法小数部分的转换乘2取整法(基数乘法)除基取余法:把给定的除以基数,取余数作为最低位的系数,然后继续将商部分
6、除以基数,余数作为次低位系数,重复操作直至商为0例如:用基数除法将(327)10转换成二进制数2327余数216312811240122002100250221210201(327)10=(101000111)2减权定位法将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。例如:将(327)10转换成二进制数256<327<512327-256=71171<128071-64=717<3207<1607<807-4=313-2=111-1=01乘基
7、取整法(小数部分的转换)把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所的整数部分作为第二位小数,重复操作直至得到所需要的二进制小数例如:将(0.8125)10转换成二进制小数.整数部分2×0.8125=1.62512×0.625=1.2512×0.25=0.502×0.5=11(0.8125)10=(0.1101)2例如:将(0.2)10转换成二进制小数0.2×2=0.4整数部分00.4×2=0.800.8×2=1.610.6×2=1.210.2×2=0.400.4×2=0.800.8×2
8、=1.610.6×2=1.21(0.2)10=[0.001100110011….]23)其它进制之间的直接转换法二<-->八二<-->十六00000000010008001100011100190102001021010A0113001131011