stm32把文件当中的第四位数据和第八位数据交换

stm 32把某个文件当中的第四位数据与第八位数据进行交换位置

char convert(char data_in)
{
  char data_out;
  data_out = data_in & 0x77;
  data_out |= (data_in & 0x08) << 4;
  data_out |= (data_in & 0x80) >> 4;
  return data_out;
}

随便写的,应该有更优化的算法。

如果数据量不大,可以通过上面位运算处理,如果数据量特别大,建议先生成个转换表,也就256个字节的表,然后通过查表法快速转换。

  1. 操作文件会吧? 读取文件数据回吧?读出来后进行位操作就行。