2.1 制与编码

2.1 制与编码


2.1 数制与编码
  数据是计算机处理的对象,数据在计算机中是否能得到正确的表示和理解是其他操作的基础。在计算机中,数据的表示方…

2.1 制与编码

2.1 数制与编码

  数据是计算机处理的对象,数据在计算机中是否能得到正确的表示和理解是其他操作的基础。在计算机中,数据的表示方式有二进制、八进制、十进制和十六进制等多种数制形式。而对于数值数据有原码、补码、反码等几种机器数编码方法,对于非数值数据(字符和汉字)也有其特殊的编码方法。

2.1.1 进位计数制及其相互转换

  在计算机中,数据的表示方式通常有二进制、八进制、十进制和十六进制等形式,其他数制我们可能平时接触较少,但十进制数在日常生活中是经常被使用的。为了加强读者对数制的理解,下面分别介绍这几种数制及他们之间的相互转换。
  1.十进制
  十进制用0~9十个数字符号,以一定的规律排列起来,表示数值的大小。相邻位之间低位逢十向高位进一。它的基数为10,各位的系数ki可以是0~9十个数字中任一个,各位的权为10i。任何一个十进制数N均可表示为:
 

  2.二进制
  二进制是数字电路中应用最广泛的计数制。因为在数字电路中通常只有高电平和低电平两个状态。这两个状态刚好可以用二进制数中的两个符号0和1来表示。它的运算规则简单,在电路中易于实现。在二进制中,相邻位之间低位逢二向高位进一。它的基数为2,各位的系数ki可以是0或1,各位的权为2i。任何一个二进制数N均可表示为:

  3.八进制
  如果将一个数值较大的十进制数转换为二进制数,不仅位数多,难以记忆,且不便书写,易出错。因此,除了二进制外,常用的还有八进制或十六进制。八进制中,各相邻位之间低位逢八向高位进一。它的基数为8,各位的权为8i,各位的系数ki可以是0~7八个数字中任意一个,任何一个八进制数N均可表示为:

  4.十六进制
  在十六进制中,各相邻位之间低位逢十六向高位进一。它的基数为16,为了书写和计算方便,在十六进制数中,各位的系数ki可以是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数字符号中任一个,各位的权为16i,任何一个十六进制数N均可表示为:

  5.R进制转换为十进制
  R进制,通常说法就是逢R进1。可以用的数为R个,分别是0,1,2,…,R-1。如八进制的R就等于8。
  对于任意一个R进制数,它的每一位数值等于该位的数码乘以该位的权数。权数由一个幂Ri表示,即幂的底数是R,指数为i,i与该位和小数点之间的距离有关。当该位位于小数点的左边时,i值是该位和小数点之间数码的个数;当该位位于小数点的右边时,i值是负值,其绝对值是该位和小数点之间数码的个数加1。
  例如,八进制数234.56,其数值可计算如下:

(234.56)8 = 2×82+3×81+4×80+5×8-1+6×8-2 = 128+24+4+5/8+6/64 = (156.71875)10

  又如,二进制数l0100.01的值可计算如下:

(l0100.01)2 = 1×24+1×22+1×2-2 = 16+4+0.25 = (20.25)10

  按照上面的表示法,即可计算出R进制数转换成十进制数的值。
  6.十进制转换为R进制
  十进制整数转换成R进制数,最常用的是“除以R取余法”。例如,将十进制数94转换为二进制数的过程如下:

  将所得的余数从低位到高位排列,(1011110)2就是十进制数94对应的二进制数。
  十进制小数转换为R进制小数,则采用“乘以R取进位法”。例如,将十进制小数0.43转换成二进制小数的过程如下(假设要求小数点后取5位):

  即转换后的二进制小数为(0.01101)2
  7.二进制与八进制的转换
  二进制数转换为八进制数的规则可以概括为“三位并一位”,即以小数点为基准,整数部分从右至左,每3位一组,最高位不足3位时,添0补足3位;小数部分从左至右,每3位一组,最低有效位不足3位时,添0补足三位。然后,将各组的3位二进制数按22,21,20权展开后相加,得到1位八进制数。
  例如,二进制数1011110转换为八进制数,则可以分为3段(001,011,110),其对应的八进制数为(1,3,6),因此,(1011110)2=(136)8
  如果要将八进制数转换为二进制数,上述过程则相反。也就是说,先将八进制数的每位数字转换为3位二进制表示,然后再将其按顺序组合起来,就得到了对应的二进制数。
  8.二进制与十六进制的转换
  二进制数转换为十六进制数规则可概括为“四位并一位”,即以小数点为基准,整数部分从右至左,每4位一组,最高位不足4位时,添0补足4位;小数部分从左至右,每4位一组,最低有效位不足4位时,添0补足4位。然后,将各组的4位二进制数按23,22,21,20权展开后相加,得到1位十六进制数。
  例如,二进制数1011110转换为十六进制数,则可以分为2段(0101,1110),其对应的十六进制数为(5,E),因此,(1011110)2=5EH(H为十六进制数据的表示方法)。
  如果要将十六进制数转换为二进制数,上述过程则相反。也就是说,先将十六进制数的每位数字转换为4位二进制表示,然后再将其按顺序组合起来,就得到了对应的二进制数。

2.1 制与编码

    关于作者: admin

    这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字活着HTML!

    为您推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    评论列表 人参与

    联系我们

    联系我们

    8888-88888888

    在线咨询: QQ交谈

    邮箱: email@admin.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部