high2low.c

来自「Unix系统的工作站和微机的数据储存方式不同」· C语言 代码 · 共 52 行

C
52
字号
//高低位转换  
                                                          
//Unix系统的工作站和微机的数据储存方式不同,两者的高低位
//颠倒,需要进行高低位转换才能互用。

                                 
int high2Low(int size, char *data, int noo);
//** size  :数据的字节数,取值为2或4;
//** data  :要转换的数据数组
//** noo   :要转换的数据数组长度
                                             
int high2Low(int size, char *data, int noo)
{
  char  byte;
  int   no = noo*size;
             
  if (size == 2)
  {     
      for (int i = 0; i<no; i=i+2)
      {        
          byte = data[i];
          data[i] = data[i+1];
          data[i+1] = byte;
      }          
  }            
  else if (size == 4)
  {       
      for (int i = 0; i<no; i=i+4)
      {          
          byte = data[i];
          data[i] = data[i+3];
          data[i+3] = byte;

          byte = data[i+1];
          data[i+1] = data[i+2];
          data[i+2] = byte;
      }        
  }    
  else if (size == 41) 
  {
      for(int i = 0; i<no; i=i+4)
      {
          byte = data[i+3];
          data[i+3] = data[i+2];
          data[i+2] = data[i+1];
          data[i+1] = data[i];
          data[i] = byte;
      }
  }

  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?