第一个数字可以取字符用函数 copy('01000101',5,4);
第二个数字可以这样  copy('01010011',1,2);
这样结果就等于  copy('01000101',5,4)+copy('01010011',1,2)了,最好再把字符转换为二进制数

解决方案 »

  1.   

    (data1 shL 4) and (data2 Shr 6) and $4F
      

  2.   

    artman(artman) :
      后面那个and $4F
      的作用是什么?
      

  3.   

    zswang(伴水)(* 嘻嘻 *) :
      怎么会呀。
     第一个左移四位后,右边是四个0啊。你看我上边说的。
      

  4.   

    zswang(伴水)(* 嘻嘻 *) :
     为什么你要又移2位?不能为了凑出那个答案,硬的移2位啊。我要个通用算法。
      

  5.   

    zswang(伴水)(* 嘻嘻 *) :
     为什么你要又移2位?不能为了凑出那个答案,硬的移2位啊。我要个通用算法。
      

  6.   

    01000101 shl 4 = 0101000001010000 shr 2 = 0001010000010100 or 00000001 = 00010101
      

  7.   

    (data1 & 0xf) + ((data2 shr 2) & 0xf0)
      

  8.   

    ((data1 shL 4) or (data2 Shr 6)) and $4Fand $4f 屏蔽掉前两位
      

  9.   

    ((data1 shl 2) and $3F) or (data2 Shr 6)