今天在优化一个信号处理的算法,其中有一个部分是对二进制反转(不是取反)。把二进制 12345678 -> 87654321 数字表示的是字节的位置并不是数值。我的程序是经过八次循环来反转,但是我认为内核应该有这种位从左的指令,经过查询找到了 REV指令,这指令节省很多资源。但是我没有找到在C语言环境下的具体使用方法。我用的芯片是stm32F407 keil 5开发环境 ,求大家帮助解决一下。下面是我找到的一些资料。 |
C语言本身就可以嵌入汇编,直接用就可以了,有asm关键的 |
rev好你不能满足你的这个要求,你的要求不是按位来反转的。
|