例如:a[10];
  怎样才能按如下循序取:a[1]的高4位,a[1]的低4位,a[1]的高4位,a[2]的低4位..............a[9]的高4位,a[9]的高4位。

解决方案 »

  1.   

    取高位时用a[1]&11110000,取低位时用a[1]&00001111
      

  2.   

    你上面的描述没有规律呀:(
    是不是这样:
    a[i]高->a[i]低(i:0~9)BYTE hMask = 0xF0;
    BYTE lMask = 0x0F;
    for(int i=0; i<10; i++)
    {
    BYTE high low;
    high = a[0] & hMask;
    high>>=4;
    low  = a[0] & lMask;
    }
      

  3.   

    错了:是这样
     怎样才能按如下循序取:a[1]的高4位,a[1]的低4位,a[2]的高4位,a[2]的低4位,a[3]的高4位,a[3]的低4..............a[9]的高4位,a[9]的高4位。  
      

  4.   

    高4位 a[i] >> 4 
    低4位 a[i] & 0x0F
      

  5.   

    低4位 a[i] & 0xF0
      

  6.   

    int ret;
    int mask = 0x000000F0;
    for( int i = 0; i < 4; i++ )
    {
        ret = a[i/2]&(mask>>(4*(i%2)));
    }
      

  7.   

    int a[10] = {...};
    int ret;
    int mask = 0x000000F0;
    for( int i = 0; i < 20i++ )
    {
        ret = a[i/2]&(mask>>(4*(i%2)));
    }
      

  8.   

    哪有规律呀?是这样的吗?
    (要取的用*表示,要留的用-表示)
    a[1] ****----
    a[1] ----****
    a[2] ****----
    a[2] ----****
    a[3] ****----
    a[3] ----****
    a[4] ****----
    a[4] ----****
    a[5] ****----
    a[5] ----****
    a[6] ****----
    a[6] ----****
    a[7] ****----
    a[7] ----****
    a[8] ****----
    a[8] ----****
    a[9] ****----
    a[9] ****----
      

  9.   

    我需要做把a[10]中的数据拆开,放到另外的数组b[20]中,格式是:
    a[0]高4位放到b[0]中,
    a[0]低4位放到b[1]中,
    a[1]高4位放到b[2]中,
    a[1]低4位放到b[3]中,
         .     .
         .     .
         .     .
         .     .
    a[9]高4位放到b[18]中,
    a[9]低4位放到b[19]中。
      

  10.   

    b[0] = (a[0]&0xF0)>>4;
    b[1] = a[0]&0xOF;
    ......
    b[18] = (a[9]&0xF0)>>4;
    b[19] = a[9]&0xOF;
      

  11.   

    BYTE a[10] = {...};
    BYTE b[20];
    int ret;
    int mask = 0x0000000F;
    for( int i = 0; i < 20i++ )
    {    b[i] = (a[i/2]>>(4*(i%2)))&mask;
    }
      

  12.   

    BYTE a[10] = {...};
    BYTE b[20];
    int ret;
    int mask = 0x0000000F;
    for( int i = 0; i < 20i++ )
    {    b[i] = (a[i/2]>>(4*((i+1)%2)))&mask;
    }
      

  13.   

    你要写一个十六进制的编辑器吗?Hankuu()  写的代码可读性太差,我看连你自己都快糊涂了 :-)....
    没必要那么复杂的。
      

  14.   

    谢谢,Hankuu() !!
    to dou_ya(豆芽菜) :
         能不能给各简单的,我也喜欢比较简单的。