二进制数据和二进制编码知识
  二进制编码是计算机内使用最多的码制,它只使用两个基本符号"0"和"1",并且通过由这两个符号组成的符号串来表示各种信息。二进制的数值数据亦是如此,计算其所代表的数值的运算规则是:
   m-1
   N = ∑ Di * 2i (2.4) Di 的取值为0或1
   i = -k
  例如 (1101.0101) 2 = (13.3125) 10 。
  等号左右两边括号内的数字为两个不同进制的数字,括号右下脚的2和10分别指明左右两边的数字为二进制和十进制的数。按公式(2.4),计算二进制的1101.0101的实际值为:
  1*23+1*22+0*21+1*20+0*2-1+1*2-2+0*2-3+1*2-4=8+4+1+0.25+0.0625 = 13.3125
  从式中可以进一步看到,由于二进制只用0和1两个符号,在计算二进制位串所代表的实际值时, 只需把符号为1的那些位的位权相加即可, 则上式变为:
  23 + 22 + 20 + 2-2 + 2-4 = 13.3125
  熟悉地记清二进制数每位上的位权是有益的。当位序号为0-12时, 其各位上的位权分别为1、2、4、8、16、32、64、128、256、512、1024、2048和4096。
数制与进位计数法基础
  在采用进位记数的数字系统中, 如果只用r个基本符号 (例如0,1,2,…r-1) 、通过排列起来的符号串表示数值,则称其为基r数制(Radix-r Number System), r称为该数制的基(Radix)。假定用m+k个自左向右排列的符号Di(-k≤i≤m-1)表示数值N,即
    N = Dm-1 Dm-2 … D1 D0 D-1 D-2 …D-k (2.1)
  式中的Di(-k≤i≤m-1)为该数制采用的基本符号,可取值0、1、2、…、r-1,小数点位置隐含在 D0与D-1位之间, 则Dm-1 … D0 为N的整数部分,D-1 … D-n 为N的小数部分。
  如果每个 Di 的单位值都赋以固定的值Wi ,则称Wi 为该位的权 (Weight) , 此时的数制称为有权的基r数制(Weighted Radix-r Number System)。此时N代表的实际值可表示为:
       m-1
二进制编码转换
    N = ∑ Di * Wi (2.2)
      i= -k
  如果该数制编码还符合 "逢r进位"的规则, 则每位的权(简称位权)可表示为:
    Wi = ri
  式中的r是数制的基,i为位序号。式 (2.2) 又可以写为:
       m-1
    N = ∑ Di * ri (2.3)
      i = -k
  式中的符号:
  r 是这个数制的基(Radix)
  i 表示这些符号的排列次序,即位序号
  Di 是位序号为i的一位上的符号
  ri 是第i位上的一个1所代表的值(位权)
  Di * ri 是第i位上的符号所代表的实际值
  ∑ 表示对m+k位的各位的值执行累加求和
  N 代表一个数值
  此时该数制被称为r进位数制 (Positional Radix-r Number System), 简称r进制。下面是计算机中常用的几种进位数制:
  二进制 r=2, 基本符号 0,1
  八进制 r=8, 基本符号 0,1,2,3,4,5,6,7
  十六进制 r=16, 基本符号 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
  其中A-F分别表示十进制数10,11,12,13,14,15
  十进制 r=10, 基本符号 0,1,2,3,4,5,6,7,8,9
  如果每一数位都具有相同的基, 即采用同样的基本符号集来表示, 则称该数制为固定基数值 (Fixed Radix Number System),这是计算机内普遍采用的方案。在个别应用中, 也允许对不同的数位或位段选用不同的基,即混合采用不同的基本符号集来表示, 则该数制称为混合基数制 (Mixed Radix Number System)。
十进制转二进制
  十进制到二进制的转换,通常要区分数的整数部分和小数部分,并分别按除2取余数部分和乘2取整数部分两种不同的方法来完成。
  十进制数整数部分转换二进制数的方法与步骤
  对整数部分,要用除2取余数办法完成十→二的进制转换,其规则是:
  用2除十进制数的整数部分,取其余数为转换后的二进制数整数部分的低位数字;
  再用2去除所得的商,取其余数为转换后的二进制数高一位的数字;
  重复执行第二步的操作,直到商为0,结束转换过程。
   例如, 将10进制的37转换成二进制整数的过程如下:
 
  余数部分,即转换后的结果,为(100101) 2。
十进制小数部分转换二进制数方法与步骤
  对小数部分,要用乘2取整数办法完成十→二的进制转换,其规则是:
  用2乘十进制数的小数部分,取乘积的整数为转换后的二进制数的最高位数字;
  再用2乘上一步乘积的小数部分,取新乘积的整数为转换后二进制小数低一位数字;
  重复第二步操作,直至乘积部分为0,或已得到的小数位数满足要求,结束转换过程。
  例如,将十进制的0.43,转换成二进制小数的过程如下(假设要求小数点后取5位):
 
  整数部分,即转换后的二进制小数为(0.01101)2。
  对小数进行转换的过程中,转换后的二进制已达到要求位数,而最后一次的乘积的小数部分不为0,会使转换结果存在误差,其误差值小于求得的最低一位的位权。
    既有整数又有小数的十进制转二进制方法
  对既有整数部分又有小数部分的十进制数, 可以先转换其整数部分为二进制数的整数部分,再转换其小数部分为二进制的小数部分,通过把得到的两部分结果合并起来得到转换后的最终结果。例如,(37.43)10 = (100101.01101)2 。
十进制转二进制的手工转换方法
  在实现手工转换时,如果对二进制数已经比较熟悉,基本上记住了以2为底的指数值,即二进制数每一位上的权,对十进制数进行转换时,也可以不采用上述规则,基本上可以直接写出来。例如,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。