本文主要是介绍对一个8位的二进制数进行位倒序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目要求:一个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
这篇关于对一个8位的二进制数进行位倒序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!