题目要求:一个8比特的数,要求编写一端C程序实现位倒序功能.如:a=b0b1b2b3b4b5b6b7,编程实现a=b7b6b5b4b3b2b1b0(要求实现的速度尽可能的快)
实现有各种方法,如果是汇编似乎会稍微简单点,而要求c语言或许没有那么高效了,我只能想到大家都能想到的一种方法,记下来,以后可以看看。
如果谁有好的方法可以给我留言啊。thanks!
代码::
#include <stdio.h>
void main(){
int a=0xf0,b=0,i,temp;
printf("a = %x\n",a);
for(i=0;i<8;i++){
temp=a&0x01;
a=a>>1;
b=b+temp;
if(i != 7)
b=b<<1;
}
printf("\n");
printf("b = %x\n",b);
}
输入为:10100101
输出为:10100101